Security命名空间下的类库是针对Web托管代码的,完成用户的权限和身份验证,主要包括Windows、Forms、Passport、URL和文件的安全认证功能。
从ASP.NET 3.0开始,System.Web.Security与各类界面安全控件结合使用,简化开发人员的重复劳动,涉及用户权限管理、登录、角色管理。
Membership类由ASP.NET应用程序用来验证用户凭据并管理用户设置(如密码和电子邮件地址)。使用Roles类可以根据指定给Web应用程序的角色的用户组对应用程序的授权进行管理。
Membership类和Roles类都使用提供程序,即访问应用程序的数据存储以检索成员资格和角色信息的类。成员资格和角色信息可以使用SqlMembershipProvider和SqlRoleProvider类存储在Microsoft SQL Server数据库中;也可以使用ActiveDirectory MembershipProvider和AuthorizationStoreRoleProvider类存储在Active Directory中,还可以使用MembershipProvider和RoleProvider类的实现存储在自定义数据源中。
使用membership元素(ASP.NET设置架构)可以配置ASP.NET成员资格。MembershipUser类的提供程序特定的实现包含有关用户访问页的信息。可以为应用程序创建MembershipUser类的自定义实现。
使用roleManager元素(ASP.NET设置架构)可以配置ASP.NET角色。ASP.NET提供与Membership类和Roles类交互的服务器控件。Login、CreateUserWizard和ChangePassword控件使用Membership类来简化具有身份验证的Web应用程序的创建,而LoginView控件使用角色特定的模板为特定用户组自定义网页。
更加清晰的Web安全空间下的功能类,如表2-6所示。
表2-6 权限控制类
续表
续表