.net支持四种认证方式
1。None不进行授权与身份验证
2。Windows基于windows身份验证,首先判断windows用户的身份和组
3。Form基于cookie的身份认证机制
From认证方式是在窗体内提供用户输入ID和密码的地方,并根据用户输入的ID和密码进行身份认证。
Form认证方式同时还使用cookie记录用户的信息,当用户访问其他页面的时候,程序通过访问cookie来获得用户的身份信息
<configuration>
<system.web>
<authentication mode="Forms"/> <authorization>
<forms name=".ASPXCOOKIEDEMO" loginUrl="login.aspx" protection="All" timeout="30" path="/">
<!-- protection="[All|None|Encryption|Validation]" -->
</forms>
<deny users="?" />
</authorization>
</system.web>
</configuration>
loginUrl指定一个用于登陆的页面
nameCookie的名字,注意,如果一个服务器有很多应用的话,要给cookie其不同的名字
TimeOutCookie的存活时间默认值是30分钟
ProtectionCookie被保存的方式
PathCookie的保存时间
使用文件记录用户的帐户和密码
• 用户还可以通过指定可访问的用户名和密码来指定访问用
户。
• <authentication>
• <credentials passwordFormat="SHA1" >
• <user name="Mary"
password="94F85995C7492EEC546C321821AA4BECA
9A3E2B1"/>
• <user name="John"
password="5753A498F025464D72E088A9D5D6E87259
2D5F91"/>
• </credentials>
• </authentication>
在指定密码的保存方式时,可以指定密码的存放方式,有3种方式。如下表所示
Clear 不加密进行存储
SHA1 使用SHA1进行加密
MD5 使用MD5进行加密
授权用户与角色
• 用户访问还可以通过定制访问规则来实现对用户的角色分配。
• <authorization>
• <allow users="someone@www.frontfree.com" />
• <allow roles="Admins" />
• <deny users="*" />
• </authorization>
• 以上代码指定只有someone@www.frontfree.com的用户可以访问该站点,并且该用户具有的权限是管理员
在web.config里,同样可以通过配置all和deny属性来对访问用户的Id,访问方法进行设定
• <allow VERB="POST" users="John,Mary" />
• <deny VERB="POST" users="*" />
• <allow VERB="GET" users="*" />
如果要对角进行管理要设置
<roleManager enabled="true">
路径描述:保证路径的安全行用的
<configuration>
<location path="secured">
<system.web>
<authorization>
<deny users="?">
<allow users="*">
</authorization>
</system.web>
</location>
<location path="manager">
<system.web>
<authorization>
<allow roles="administrators"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</location>
</configuration>
4。Passport使用PassPort SDK进行二次开发