ASP.NET安全验证

ASP.NET的安全模式

Windows:IIS验证,在内联网环境中非常有用

Passport:微软集中式身份验证,一次登录便可访问所有成员站点,需要收费

Form:窗体验证。验证帐号/密码,Web编程最佳最流行的验证方式

None:表示ASP.NET自己根本不执行身份验证。完全依赖IIS身份验证

关于Forms验证

在实际开发中应用最普遍

最初由亚马逊网站开发使用,在内部使用cookie维护页面之间的状态

ASP.Net 提供了FormsAuthentication类专门用于身份验证服务

元素的主要属性

属性 说明
name 这是赋予cookie的名字,该cookie用于在请求之间保存用户。该默认值是.ASPXAUTH
loginUrl 如果没有找到有效的验证cookie,就指定请求重定向的URL
protection ALL:应用程序使用数据有效性验证和加密机制来保护cookie,这是默认设置
None:不加密cookie
Encryption:加密cookie,但不对它进行数据有效性验证
Validation:进行数据有效性验证,但不加密cookie
path 指定应用程序所存储cookie的路径。在大多数情况下应用“/”,它是默认设置
timeout 指定cookie过期的时间(分钟),默认值为30分钟
cookieless 指定在进行验证和授权过程中,基于窗体的身份验证过程是否使用cookie
defaultUrl 指定登陆成功后默认转跳的URL
domain 指定要与窗体身份验证一起发送的域名

基于窗体的身份验证。操作如下:

1、新建网站,建立如下图所示的目录结构:

ASP.NET安全验证_第1张图片

2、在login.aspx中,添加“登录”按钮的单击事件:


ASP.NET安全验证_第2张图片

3、修改Web.config文件,加入以下代码:


指定帐号密码:

ASP.NET安全验证_第3张图片


对密码进行加密:

passwordFormat:加密方式

Clear:明文

MD5:加密算法,比SHA1性能高

SHA1:加密算法


ASP.NET安全验证_第4张图片

ASP.NET安全验证_第5张图片


对用户进行授权

配置节用来对用户进行授权,在实现用户授权过程中,应该遵循以下两个应用规则:

一:位于较低目录级别的配置文件中包含的规则优于位于较高目录级别的规则。

二:对于给定URL的一组合并的规则,系统从列表头开始,检查规则直到找到第一个匹配项为止。注意:ASP.NET的默认配置包含所有用户授权的元素。如果没有匹配的规则,则将允许请求,除非另外拒绝。

配置

deny阻止访问用户;allow允许访问用户

?代表匿名用户,*代表任意用户

多个用户之间用“,”隔开

path对指向的路径进行限制(某个文件夹或页面)

例如:

ASP.NET安全验证_第6张图片


你可能感兴趣的:(ASP.NET)