anonymousIdentification 項目 (ASP.NET 設定結構描述)
設定應用程式授權的匿名識別。 如果要識別需要授權但尚未驗證的實體 (Entity),便需進行這項設定。
這個項目是 .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 列舉型別 (Enumeration) 是用以在組態區段中指定此屬性的值。 支援無 Cookie 驗證 (Authentication) 的所有功能都會使用這個列舉型別。 指定 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 在傳輸至用戶端時,是否需要 Secure Sockets Layer (SSL) 連接。 由於 ASP.NET 會設定驗證 Cookie 屬性 Secure,因此除非 SSL 連線正在使用中,否則用戶端並不會傳回 Cookie。 預設值為 false。 |
cookieSlidingExpiration |
必要的 Boolean 屬性。 指定是否要在每次要求時,或是要在預先定義的固定時間間隔重設 Cookie 逾時。 如果為 true,Cookie 逾時就會在存留時間 (TTL) 剩下不到 50% 時發生。 如果為 false,Cookie 逾時便會在 cookieTimeout 期間過後發生。 預設值為 true。 |
cookieTimeout |
必要的 TimeSpan 屬性。 指定 Cookie 到期時間間隔 (以分鐘為單位)。 預設值為 100000 分鐘 (69 天 10 小時 40 分鐘)。 最大值為 2 年。 |
domain |
指定 Cookie 網域。 這個屬性可以讓您在具有通用 DNS 命名空間的網域 (例如,以 contoso.com 結尾的所有網站) 之間共用匿名識別 Cookie。 若要共用匿名識別 Cookie,這些網站必須共用通用的解密和驗證金鑰。 此外,所有網站的其他匿名識別組態屬性 (例如 cookiePath 和 cookieName) 也都必須相同。 如需詳細資訊,請參閱 HttpCookie。 預設為空字串 ("")。 |
enabled |
選擇性 Boolean 屬性。 指定是否啟用匿名識別。 如果為 true,便會使用 Cookie (或是 Cookieless 值) 管理使用者的匿名識別項。 預設值為 false。 |
子項目
無。
父項目
項目 |
描述 |
---|---|
configuration |
指定 Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中需要的根項目 (Root Element)。 |
system.web |
指定組態檔中 ASP.NET 組態設定的根項目,並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的項目。 |
備註
<anonymousIdentification> 項目會設定應用程式授權的匿名識別。 如果在使用設定檔 (Profile) 功能時需要識別尚未驗證的實體,便需進行這項設定。
當您在 URI 中傳送匿名識別票證時,可以超過 URI 的最大值。 如果匿名識別票證、表單驗證票證、工作階段 ID 和使用者資料的組合大於允許的 UI 最大長度,則要求會失敗,錯誤為 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 Information Services (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 設定結構描述)
AnonymousIdentificationSection
概念
ASP.NET Configuration File Hierarchy