Asp.net 2.0中的角色成员管理

Asp.net 2.0提供了比较多的角色成员管理支持。
    1. 成员管理
        在API层面,可以通过使用Membership类来管理成员。Membership类则通过MembershipProvider来实现实际的成员管理功能。DotnetFramework2.0中提供了SqlMembershipProvider(System.Web.Security命名空间)作为一个默认的实现,它将成员的信息存储在一个名为Aspnet的数据库中。此数据库的连接字符串定义在Machine.config文件中。要使用SqlMembershipProvider类,应当先建立一个对应的Aspnet数据库,方法如下:
        a. 使用vs2005中的"网站-asp.net配置"菜单,启用web应用程序配置程序。在此配置程序中可以启用“成员管理”和“角色管理”,并为应用程序的"APP_Data"目录下添加一个名为aspnetdb.mbf的数据库文件。在Machine.config文件的连接字符串中有一行如下:
           <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>用于连接此数据库。
        b. 使用c:\windows\microsoft.net\framework\2.xxx\aspnet_regsql.exe 来建aspnetdb数据库。
    2. 角色管理
        在Api层面,可以通过roles类来管理角色,以及角色与成员之间的关系。Roles类通过RolesProvider类来实现实现的角色管理功能。.net 2.0提供了SqlRoleProvider(System.Web.Security命名空间)作为一个默认的实现,它和SqlMembershipProvider一样将角色相关信息存储在Aspnet数据库中。
    3. UI
        除了API,asp.net 2.0中还提供了大量的服务器端控件用于配合API进行快速开发。这些控件都是可以扩展的。常用的控件有:
        Login,用于登录。
        LoginView,可以对不同的用户(登录或未登录,或是特定角色)显示不同的内容。
        PasswordRecovery,用于恢复用户密码,使用前必须配置SMTP服务器。
        LoginStatus,显示一个按钮,用于注销用户或重新登录。
        LoginName,显示当前登录的用户名,通过格式化也可以显示成为欢迎信息。
        CreateUserWizard,以向导方式创建一个新用户,通过定制向导,还可以添加其它步骤以收集更多的用户信息。
        ChangePassword,更改用户的密码,仅在用户已经登录后才可以使用,否则会将页面导航到登录页面。

    4. 定制SqlMebershipProvider
        SqlMebershipProvider在有很多的属性可用于配置。详细情况请参见SqlMembershipProvider的配置

posted @ 2008-02-14 09:50  指南针  阅读(549)  评论(0编辑  收藏  举报