- Web用户与权限管理概述
- 使用ASP.NET网站管理工具
- 使用登录控件
- 自定义成员资格与角色管理
- ASP.NET身份验证方式(在实际的Web项目,多采用Forms身份验证)
身份验证方式 | 说明 |
None | 不进行身份验证,Web站点向所有人开放 |
Windows | 基于Windows身份验证,使用用户登录Windows的账户作为Web站点的用户。由于用户在访问网站前已经登录了Windows,所以他访问网站时不再需要输入用户名与密码。 |
Forms | 由ASP.NET负责进行身份验证,即网站提供一个登录页面,要求用户输入用户名与密码,验证合法之后才可以访问网站。 |
Passport | 使用微软提供的Passport SDK,通过第三方进行身份验证。 |
<authenticationmode="Windows"/>
说明此ASP.NET网站使用Windows身份验证。
<authenticationmode="Forms">
<forms loginUrl="~/login.aspx" defaultUrl="~/default.aspx"
name="UnderStandAuthentication”
protection="All"timeout="60"/>
</authentication>
- 给网站添加访问规则
<authorization>
<allow users="SystemManager" />
<deny users="?" />
</authorization>
- 进一步理解授权
- 了解ASP.NET用户权限管理框架
- Login控件
- LoginView控件
- PasswordRecovery控件
- ChangePassword控件
- LoginStatus控件
- LoginName控件
- CreateUserWizard控件
- 将成员资格数据库并入本网站数据库
<connectionStrings>
<add name="MySqlConnection" connectionString=“……;" />
</connectionStrings>
<membership defaultProvider="SqlProvider“ >
<providers>
<clear />
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MySqlConnection" ……" />
</providers>
</membership>
配置角色管理提供程序
<roleManagerenabled="true" defaultProvider="SqlProvider">
<providers>
<add name="SqlProvider"
connectionStringName="MySqlConnection"
applicationName="UserMemberShipInSQLServer"
type=" System.Web.Security.SqlRoleProvider,
System.Web,Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a " … />
</providers>
</roleManager>
- 添加扩充的用户信息
MembershipUser user = Membership.GetUser("sa");
if(user!=null)
Response.Write(user.ProviderUserKey);
- 数据不放在SQL Server中,因此,不能用aspnet_regsql.exe工具