System.Web.UI.WebControls.Login Class

Provides user interface (UI) elements for logging in to a Web site.

See Also: Login Members

Syntax

[System.ComponentModel.Designer("System.Web.UI.Design.WebControls.LoginDesigner, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.IDesigner")]
[System.ComponentModel.DefaultEvent("Authenticate")]
[System.ComponentModel.Bindable(false)]
public class Login : CompositeControl

Remarks

In this topic:

Introduction

The System.Web.UI.WebControls.Login control is a composite control that provides all the common UI elements needed to authenticate a user on a Web site. The following three elements are required for all login scenarios:

The System.Web.UI.WebControls.Login control also provides the following optional UI elements that support additional functions:

For a table showing which controls are required and which are optional, see Login.LayoutTemplate property.

Note:

If you are not familiar with the set of login controls available in ASP.NET, see ASP.NET Login Controls Overview before continuing. For a list of other topics related to login controls and membership, see Managing Users By Using Membership.

Note:

Accepting user input is a potential security threat. Malicious users can send data that is intended to expose vulnerabilities or run programs that try generated passwords. To improve security when working with user input, you should use the validation features of your control and secure any data providers that are configured for your control. For more information, see Securing Login Controls, Basic Security Practices for Web Applications, and Securing Membership.

The System.Web.UI.WebControls.Login control uses a membership provider to obtain user credentials. Unless you specify otherwise, the System.Web.UI.WebControls.Login control uses the default membership provider defined in the Web.config file. To specify a different provider, set the Login.MembershipProvider property to one of the membership provider names defined in your application's Web.config file. For more information, see Membership Providers.

If you want to use a custom authentication service, you can use the Login.OnAuthenticate(AuthenticateEventArgs) method to call the service.

Styles and Templates

The appearance of the System.Web.UI.WebControls.Login control is fully customizable through templates and style settings. All UI text messages are also customizable through properties of the System.Web.UI.WebControls.Login class. The default interface text is automatically localized based on the locale setting on the server.

If the System.Web.UI.WebControls.Login control is customized with templates, then the WebControl.AccessKey property and the WebControl.TabIndex property are ignored. In this case, set the WebControl.AccessKey property and the WebControl.TabIndex property of each template child control directly.

System.Web.UI.WebControls.Login control properties represented by text boxes, such as Login.UserName and Login.Password, are accessible during all phases of the page life cycle. The control will pick up any changes made by the end user by means of the TextBox.TextChanged event triggered by the textboxes.

Note:

If you embed the System.Web.UI.WebControls.Login control in a System.Web.UI.WebControls.WizardStep object, explicitly set the Wizard.ActiveStepIndex property in a Page_Load event handler if the user is authenticated. The System.Web.UI.WebControls.Wizard control does not automatically advance to the next System.Web.UI.WebControls.WizardStep object in this scenario.

The following table lists the System.Web.UI.WebControls.Login control style properties and explains which UI element each style property affects. For a list of which properties each style applies to, see the documentation for the individual style properties.

Login.BorderPadding

The space between the control contents and the control's border.

Login.CheckBoxStyle

Remember Me checkbox.

Login.FailureTextStyle

Login failure text.

Login.InstructionTextStyle

Instructional text on the page that tells users how to use the control.

Login.LabelStyle

Labels for all input fields, such as text boxes.

Login.TextBoxStyle

Text entry input fields.

Login.TitleTextStyle

Title text.

Login.ValidatorTextStyle

Text displayed to the user when a login attempt is unsuccessful due to validation errors.

Login.HyperLinkStyle

Links to other pages.

Login.LoginButtonStyle

Login button.

Validation Groupings

The Login.UserName and Login.Password properties have System.Web.UI.WebControls.RequiredFieldValidator controls associated with them to prevent users from submitting the page without providing required information.

The System.Web.UI.WebControls.Login control uses a validation group so that other fields on the same page as the System.Web.UI.WebControls.Login control can be validated separately. By default, the System.Web.UI.Control.ID property of the System.Web.UI.WebControls.Login control is used as the name of the validation group. For example, a System.Web.UI.WebControls.Login control with the ID "Login1" will use a validation group name of "Login1". If you want to set the validation group that the System.Web.UI.WebControls.Login control is part of, you must template the control and change the validation group name.

Applying CSS Styles

The System.Web.UI.WebControls.Login control lets you specify CSS style rules in markup. If you use templates to customize the appearance of the System.Web.UI.WebControls.Login control, you can specify CSS styles in the markup in the templates. In that case, no extra outer table is required. You can prevent the table from being rendered by setting the Login.RenderOuterTable property to false.

Accessibility

For information about how to configure this control so that it generates markup that conforms to accessibility standards, see Accessibility in Visual Studio 2010 and ASP.NET 4 and ASP.NET Controls and Accessibility.

Declarative Syntax

Example

<asp:Login
    AccessKey="string"
    BackColor="color name|#dddddd"
    BorderColor="color name|#dddddd"
    BorderPadding="integer"
    BorderStyle="

Requirements

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in System.Web.dll)
Assembly Versions: 2.0.0.0
Since: .NET 2.0