ASP.NET 安全验证
安全验证
ASP.NET支持的4种验证模式
1.Windows验证:IIS验证,在内联网环境中非常有用。
2.Passport验证:微软集中式身份验证,一次登录便可访问所有成员站点,需要收费。
3.Form验证:窗体验证,验证帐号/密码,Web编程最佳最流行的验证方式。
4.None验证:表示ASP.NET自己根本不执行身份验证,完全依赖IIS身份验证。
基于窗体的身份授权模式
允许用户访问整个应用程序或其特定资源的一种流行模式
IIS接受请求,但不进行处理,而传递给ASP.NET应用程序
<forms>元素的主要属性
对密码进行加密
Clear:密码存储为明文。用户的密码直接与这个值比较。
MD5:密码使用散列摘要进行存储。
SHA1:密码使用SHA1散列摘要来存储。
forms验证总结
用户利用forms验证访问受保护资源,包括以下4个步骤:
1.用户请求受保护的页面index.aspx;
2.HTTP模块调用forms验证服务截取来自用户的请求,并检查其中是否包含用户凭据;
3.如果没有发出任何用户凭据,将自动转向用户登录页面Login.aspx;
4.原请求页面地址index.aspx将以ReturnRul值的形式,附加在登录页面Login.aspx的URL地址后。当用户通过验证后,应用程序根据ReturnRul值进行页面重定向,以便访问index.aspx。
<authorization>对用户进行授权
<authorization>配置节用来对用户进行授权,在实现用户授权过程中,应该遵循以下两个应用规则:
一是位于较低目录级别的配置文件中包含的规则,优先于位于较高目录级别的规则。
二是对于给定URL的一组合并的规则,系统从表头开始,检查规则直接找到第一个匹配项为止。
<authorization>配置
1.deny阻止访问用户;allow允许访问用户;
2.?代表匿名用户,*代表任意用户;
3.多个用户之间用“,”隔开。
设置用户访问权限
<location>设置特定的文件或目录