之后我们就可以在web.config中配置角色验证规则了:
<location path="admin">
<system.web>
<authorization>
<allow roles="Admins"/>
<deny users="*"/>
</authorization>
</system.web>
</location>或者也可以在代码中判断:
bool a = User.IsInRole("testt");判断起来还是很方便的。
四、单点登录
使用Forms的单点登录主要是通过machineKey的配置,machineKey 元素对密钥进行配置,以便将其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,并将其用于对进程外会话状态标识进行验证
使用这种方式的单点登录目前只能实现相同主机或相同子域站点之间的同步登录,比如www.cnblogs.com和firstyi.cnblogs.com可以实现,但是www.cnblogs.com和www.sina.com.cn就不能实现了,对于非同一父域名下的域名间不能跨站登录
主要配置如下:
<machineKey validationKey="282487E295028E59B8F411ACB689CCD6F39DDD21E6055A3EE480424315994760ADF21B580D8587DB675FA02F79167413044E25309CCCDB647174D5B3D0DD9141" decryptionKey="8B6697227CBCA902B1A0925D40FAA00B353F2DF4359D2099" validation="SHA1"/>
<authentication mode="Forms">
<forms loginUrl="login.aspx" name=".ASPXAUTH1" domain=".cnblogs.com" />
</authentication>要实现单点登录的多个web站点的machineKey必须一样,forms里面的name和domain也必须一样
这样配置好之后,在其中一个站点登录后再调转到另一个站点就不需要再次登录了。
注:如果MOSS网站采用Forms验证方式的话,只要把MOSS站点的对应配置改成和自己的Asp.Net站点一致,那么可以从自己的站点直接进入MOSS站点,也不需要重新登录(MOSS站点和自己的站点要有相同的用户名)
其他:
Forms验证之后可以使用以下方法退出登录:
FormsAuthentication.SignOut();
另外这些登录的后台Module是配置在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config文件中的:
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule"/>
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/>
<add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule"/>

