配置:authentication 配置节
配置 ASP.NET 身份验证支持。该元素只能在计算机、站点或应用程序级别声明。如果试图在配置文件中的子目录或页级别上进行声明,则将产生分析器错误信息。
<configuration>
<system.web>
<authentication>
1 <authentication mode="Windows|Forms|Passport|None">
2 <forms name="name"
3 loginUrl="url"
4 protection="All|None|Encryption|Validation"
5 timeout="30" path="/" >
6 requireSSL="true|false"
7 slidingExpiration="true|false">
8 <credentials passwordFormat="Clear|SHA1|MD5">
9 <user name="username" password="password"/>
10 </credentials>
11 </forms>
12 <passport redirectUrl="internal"/>
13 </authentication>
14
2 <forms name="name"
3 loginUrl="url"
4 protection="All|None|Encryption|Validation"
5 timeout="30" path="/" >
6 requireSSL="true|false"
7 slidingExpiration="true|false">
8 <credentials passwordFormat="Clear|SHA1|MD5">
9 <user name="username" password="password"/>
10 </credentials>
11 </forms>
12 <passport redirectUrl="internal"/>
13 </authentication>
14
一、authentication属性
属性 | 选项 | 说明 |
mode | 控制应用程序的默认身份验证模式。 | |
Windows | 将 Windows 验证指定为默认的身份验证模式。当使用以下任意形式的 Microsoft Internet 信息服务 (IIS) 身份验证时使用该模式:基本、简要、集成的 Windows 验证 (NTLM/Kerberos) 或证书。 | |
Forms | 将 ASP.NET 基于窗体的身份验证指定为默认的身份验证模式。 | |
Passport | 将 Microsoft Passport 身份验证指定为默认的身份验证模式。 | |
None | 不指定任何身份验证。只有匿名用户是预期的或者应用程序可以处理事件以提供其自身的身份验证。 |
二、forms属性
属性 | 选项 | 说明 |
name | 指定要用于身份验证的 HTTP Cookie。默认情况下,name 的值是 .ASPXAUTH。如果在单个服务器上正运行多个应用程序并且每一应用程序均要求唯一的 Cookie,则您必须在每一应用程序的 Web.config 文件中配置 Cookie 名称。 | |
loginUrl | 指定如果没有找到任何有效的身份验证 Cookie,为登录将请求重定向到的 URL。默认值为 default.aspx。 | |
protection | 指定 Cookie 使用的加密类型(如果有)。 | |
All | 指定应用程序同时使用数据验证和加密来保护 Cookie。该选项使用已配置的数据验证算法(基于 <machineKey> 元素)。如果三重 DES (3DES) 可用并且密钥足够长(48 位或更多),则使用三重 DES 进行加密。All 是默认(和建议)值。 | |
None | 指定对于将 Cookie 仅用于个性化并且具有较低的安全要求的站点而言,同时禁用加密和验证。不推荐以此方式使用 Cookie;但是,这是使用 .NET Framework 启用个性化的占用资源最少的方式。 | |
Encryption | 指定使用三重 DES 或 DES 对 Cookie 进行加密,但不对该 Cookie 执行数据验证。以此方式使用的 Cookie 可能会受到精选的纯文本的攻击。 | |
Validation | 指定验证方案验证已加密的 Cookie 的内容在转换中是否未被改变。Cookie 是使用 Cookie 验证创建的,方式是:将验证密钥和 Cookie 数据相连接,然后计算消息身份验证代码 (MAC),最后将 MAC 追加到输出 Cookie。 | |
timeout | 指定以整数分钟为单位的时间量,超过此时间量,Cookie 将过期。默认值是 30。如果 SlidingExpiration 属性为 true,则 timeout 属性是一个弹性值,以收到最后一个请求后指定的分钟数为到期时间。为避免危及性能,以及为避免向启用 Cookie 警告的用户显示多个浏览器警告,在经过了超过一半的指定时间后更新该 Cookie。这可能导致精确性上的损失。持久性 Cookie 不超时。 | |
path | 为由应用程序发出的 Cookie 指定路径。默认值是正斜杠 (/),这是因为大多数浏览器是区分大小写的,并且如果路径大小写不匹配,将不发送回 Cookie。 | |
requireSSL | 指定是否需要安全连接来转换身份验证 Cookie。 | |
true | 指定必须使用安全连接来保护用户凭据。如果是 true, ASP.NET 为身份验证 Cookie 设置 |
|
false | 指定在传输 Cookie 时,安全连接不是必需的。默认值为 false。 | |
slidingExpiration | 指定是否启用弹性过期时间。在单个会话期间,弹性过期时间针对每个请求重置当前身份验证 Cookie 的过期时间。 | |
true | 指定启用弹性过期时间。在单个会话期间,身份验证 Cookie 被刷新,并且每个后续请求的到期时间被重置。ASP.NET 版本 1.0 的默认值为 true。 | |
false | 指定不启用弹性过期时间,并指定 Cookie 在最初发出之后,经过一段设定的时间间隔后失效。默认值为 false。 |
三、credentials属性
属性 | 选项 | 说明 |
passwordFormat | 指定用于存储密码的加密格式。 | |
Clear | 指定密码不加密。 | |
MD5 | 指定使用 MD5 哈希算法给密码加密。 | |
SHA1 | 指定使用 SHA1 哈希算法给密码加密。 |
属性 | 说明 |
name | 登录用户名。 |
password | 用户的密码。 |
五、passport属性
属性 | 说明 |
redirectUrl | 请求被重定向到的 URL。 |