Updated: November 2007
The System.Web.Security namespace contains classes that are used to implement ASP.NET security in Web server applications.
The Membership class is used by ASP.NET applications to validate user credentials and manage user settings such as passwords and e-mail addresses. The Roles class enables you to manage authorization for your application based on groups of users assigned to roles in the Web application.
Both the Membership class and the Roles class work with providers, classes that access your application's data store to retrieve membership and role information. Membership and role information can be stored in a Microsoft SQL Server database using the SqlMembershipProvider and SqlRoleProvider classes; in an Active Directory using the ActiveDirectoryMembershipProvider and AuthorizationStoreRoleProvider classes, or in a custom data source using implementations of the MembershipProvider and RoleProvider classes.
You configure ASP.NET membership using the membership Element (ASP.NET Settings Schema). When an application using membership is accessed, ASP.NET creates an instance of the Membership class that you can use to query membership information. Provider-specific implementations of the MembershipUser class contain information about the user accessing the page. You can create custom implementations of the MembershipUser class for your application.
You configure ASP.NET roles using the roleManager Element (ASP.NET Settings Schema). ASP.NET creates an instance of the Roles class that contains information about the role membership of the current user.
ASP.NET provides server controls that interact with the Membership class and the Roles class. The Login, CreateUserWizard, and ChangePassword controls work with the Membership class to simplify creating an authenticated Web application, and the LoginView control uses role-specific templates to customize Web pages for specific groups of users.