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 保存用户数据,否则在查询字符串中使用标识符。

NoteNote
当配置支持 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 指定同时使用 ValidationEncryption 值来保护 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>

元素信息

配置节处理程序

AnonymousIdentificationSection

配置成员

AnonymousIdentification

可配置的位置

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

参考

system.web 元素(ASP.NET 设置架构)

configuration 元素(常规设置架构)

System.Configuration

System.Web.Configuration

AnonymousIdentificationSection

AnonymousIdentification

概念

Securing Profile Properties

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

其他资源

常规配置设置 (ASP.NET)

ASP.NET 配置设置

Configuring ASP.NET Applications

ASP.NET Configuration API