anonymousIdentification 元素(ASP.NET 设置架构)
[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]
针对应用程序授权配置匿名标识。 这是在需要授权时,对没有经过身份验证的实体进行标识所必需的。
此元素是 .NET Framework 2.0 版中的新元素。
<anonymousIdentification
enabled="[true | false]"
cookieless="[UseUri | UseCookies | AutoDetect | UseDeviceProfile]"
cookieName=""
cookiePath=""
cookieProtection="[None | Validation | Encryption | All]"
cookieRequireSSL="[true | false]"
cookieSlidingExpiration="[true | false]"
cookieTimeout="[DD.HH:MM:SS]"
domain="cookie domain"
/>
特性和元素
以下几节描述了特性、子元素和父元素。
特性
特性 |
说明 |
---|---|
cookieless |
指定对于 Web 应用程序是否使用 Cookie。 HttpCookieMode 枚举用于在配置节中指定该特性的值。 可用于支持无 Cookie 身份验证的所有功能。 指定 AutoDetect 值时,ASP.NET 将查询浏览器或设备以确定它是否支持 Cookie。 如果浏览器或设备支持 Cookie,则使用 Cookie 保存用户数据,否则在查询字符串中使用标识符。
Note
当配置支持 AJAX 的 ASP.NET 网站时,应仅为 cookieless 特性使用 UseCookies 的默认值。ASP.NET AJAX 客户端脚本库不支持使用编码到 URL 中的 Cookie 的设置。
此特性可以为下列可能值之一。
值说明
AutoDetect 指定由 ASP.NET 决定发出请求的浏览器或设备是否支持 Cookie。如果发出请求的浏览器或设备支持 Cookie,则 AutoDetect 使用 Cookie 来保存用户数据;否则在查询字符串中使用标识符。如果浏览器或设备支持 Cookie,但当前禁用了 Cookie,则请求功能依然会使用 Cookie。
UseCookies 指定无论浏览器或设备是否支持 Cookie,都使用 Cookie 来保存用户数据。这是默认值。
UseDeviceProfile 指定由 ASP.NET 根据 HttpBrowserCapabilities 设置来确定是否使用 Cookie。如果该设置指示浏览器或设备支持 Cookie,则使用 Cookie;否则在查询字符串中使用标识符。
UseUri 指定无论浏览器或设备是否支持 Cookie,调用功能都使用查询字符串来存储标识符。
默认值为 "UseCookies"。 |
cookieName |
指定分配给 Cookie 的名称。 默认值为 ".ASPXANONYMOUS"。 |
cookiePath |
指定存储 Cookie 的目录的路径。 路径区分大小写。 默认值为 "/" 指定的根目录。 |
cookieProtection |
指定 Cookie 保护方案。 此特性可以为下列可能值之一。
值说明
All 指定同时使用 Validation 和 Encryption 值来保护 Cookie 中的信息。
Encryption 对 Cookie 中的信息进行加密。
None 指定 Cookie 信息不受保护。Cookie 中的信息以明文形式存储,将这些信息发回服务器时不会对它们进行验证。
Validation 确保 Cookie 中的信息在发回服务器之前不会被更改。
默认值为 "Validation"。 |
cookieRequireSSL |
指定将 Cookie 传输到客户端时是否需要安全套接字层 (SSL) 连接。 因为 ASP.NET 设置身份验证 Cookie 属性 Secure,所以,除非正在使用 SSL 连接,否则客户端不返回 Cookie。 默认值为 false。 |
cookieSlidingExpiration |
必选的 Boolean 特性。 指定 Cookie 超时是在每次请求时重置还是按预定义的固定时间间隔重置。 如果为 true,则剩余的生存时间 (TTL) 少于 50% 时 Cookie 超时。 如果为 false,则 cookieTimeout 持续时间过后 Cookie 超时。 默认值为 true。 |
cookieTimeout |
必选的 TimeSpan 特性。 指定 Cookie 过期时间间隔(以分钟为单位)。 默认值为 100000 分钟(69 天 10 小时 40 分钟)。 最大值为 2 年。 |
domain |
指定 Cookie 域。 使用此特性可以在具有共同 DNS 命名空间的域(例如,以 contoso.com 结尾的所有站点)之间共享匿名标识 Cookie。 若要共享匿名标识 Cookie,这些站点必须共享相同的解密和验证密钥。 所有站点的其他匿名标识配置特性(如 cookiePath 和 cookieName)必须相同。 有关更多信息,请参见 HttpCookie。 默认值为空字符串 ("")。 |
enabled |
可选的 Boolean 特性。 指定是否启用匿名标识。 如果为 true,则使用 Cookie(或没有 Cookie 的值)来管理用户的匿名标识符。 默认值为 false。 |
子元素
无。
父元素
元素 |
说明 |
---|---|
configuration |
指定公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。 |
system.web |
指定配置文件中 ASP.NET 配置设置的根元素,并且包含各种元素,这些元素配置 ASP.NET Web 应用程序并控制应用程序的行为方式。 |
备注
<anonymousIdentification> 元素针对应用程序授权配置匿名标识。 这是在使用“配置文件”功能时,对没有经过身份验证的实体进行标识所必需的。
在 URI 中发送匿名标识票时,可以超过 URI 的最大大小。 如果匿名标识票证、Forms 身份验证票证、会话 ID 和用户数据的组合超过了允许的最大 URI 长度,请求将失败,并发出“400 错误的请求”错误。
默认配置
下面的默认 <anonymousIdentification> 元素不是在 Machine.config 文件或根 Web.config 文件中显式配置的。 但是,它是由应用程序返回的默认配置。
<anonymousIdentification
enabled="false"
cookieName=".ASPXANONYMOUS"
cookieTimeout="100000"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="Validation"
cookieless="UseCookies"
domain=""
/>
示例
下面的代码示例演示如何为匿名标识配置站点。
<configuration>
<system.web>
<anonymousIdentification
enabled="true"
cookieless="UseCookies"
cookieName=".ASPXANONYMOUS"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration = "true"
cookieProtection="Clear"
/>
</system.web>
</configuration>
元素信息
配置节处理程序 |
|
配置成员 |
|
可配置的位置 |
Machine.config 根级别的 Web.config 应用程序级别的 Web.config |
要求 |
Microsoft Internet 信息服务 (IIS) 5.0、5.1 或 6.0 版 .NET Framework 2.0 版 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
请参见
任务
How to: Configure Specific Folders Using Location Settings
How to: Lock ASP.NET Configuration Settings
参考
AnonymousIdentificationSection
概念
ASP.NET Configuration File Hierarchy