<forms> 項目
設定 ASP.NET 應用程式以進行自訂表單架構驗證。
<configuration>
<system.web>
<authentication>
<forms>
<forms name="name"
loginUrl="url"
protection="All|None|Encryption|Validation"
timeout="30"
path="/"
requireSSL="true|false"
slidingExpiration="true|false">
<credentials passwordFormat="format"/></forms>
選擇性屬性
屬性 | 選項 | 說明 |
---|---|---|
name | 指定用來驗證的 HTTP Cookie。在預設狀況下,name 的值為 .ASPXAUTH。如果在單一伺服器執行多重應用程式,而且每個應用程式需要特殊的 Cookie,就必須在每個應用程式的 Web.config 檔案中設定 Cookie 名稱。 | |
loginUrl | 指定找不到有效的驗證 Cookie 時將要求重新導向以進行登入的 URL。預設為 default.aspx。 | |
protection | 指定 Cookie 要使用的加密類型 (如果有)。 | |
ALL | 指定應用程式同時使用資料驗證和加密來協助保護 Cookie。這個選項使用設定的資料驗證演算法 (根據 <machineKey> 項目)。如果可用 Triple-DES (3DES) 且其金鑰夠長 (48 位元組或以上),就使用 Triple-DES (3DES) 加密。All 是預設 (和建議) 值。 | |
None | 對於只將 Cookie 用於個人化設定且安全性需求不大的網站,指定同時停用加密和驗證。不建議以這種方式使用 Cookie;不過,這是使用 .NET Framework 啟用個人化時最不耗用資源的方法。 | |
Encryption | 指定使用 Triple-DES 或 DES 加密 Cookie,但不在 Cookie 執行資料驗證。以這種方式使用的 Cookie 可能會受到選擇純文字的攻擊。 | |
Validation | 指定驗證配置將驗證加密的 Cookie 的內容在轉換時並未改變。使用 Cookie 驗證來建立 Cookie,亦即藉由使用 Cookie 資料來串連驗證金鑰、計算訊息驗證碼 (MAC) 和附加 MAC 至外送的 Cookie 中。 | |
timeout | 指定 Cookie 過期的時間,以整數分鐘為單位。預設值為 30。如果 SlidingExpiration 屬性是 true,則 timeout 屬性是滑動值,會在收到最後一個要求後的指定分鐘數過期。若要避免妨礙效能以及對開啟 Cookie 警告的使用者發出多重瀏覽器警告,當超過指定時間的一半時就會更新 Cookie。這可能會導致遺失精準度。永續性 (Persistent) Cookie 不會逾時。 | |
path | 指定應用程式發出 Cookie 的路徑。預設值為斜線 (/),因為多數的瀏覽器都區分大小寫,如果路徑的大小寫不符並不會送回 Cookie。 | |
requireSSL | 指定傳輸驗證 Cookie 是否需要 SSL 連接。 | |
true | 指定需要 SSL 安全連接以保護使用者憑證。如果為 true,ASP.NET 會為驗證 Cookie 設定 HttpCookie.Secure,而相容的瀏覽器不會傳回 Cookie,除非連接使用的是 Secure Sockets Layer (SSL)。 | |
false | 指定傳輸 Cookie 不需要 SSL 連接。預設為 false。 | |
slidingExpiration | 指定是否啟用變動到期。在單一工作階段 (Session) 中發生要求時,變動到期會重設使用中驗證 Cookie 的到期時間。 | |
true | 指定啟用變動到期。在單一工作階段中發生後續要求時,會重新整理驗證 Cookie,並重設到期時間。ASP.NET 1.0 版的預設為 true。 | |
false | 指定不啟用變動到期,Cookie 會在原本發出的時間後固定的間隔到期。預設為 false。 |
子標記
子標記 | 說明 |
---|---|
<credentials> | 允許定義組態檔中的名稱和密碼憑證。您也可以實作自訂密碼配置以使用外部來源 (例如資料庫) 來控制驗證。 |
備註
如果在單一伺服器執行多重應用程式,就必須在每個應用程式的 Web.config 檔案中設定 <forms> 屬性。
範例
下列範例設定網站進行表單式驗證,指定從用戶端傳輸登入資訊的 Cookie 名稱,以及指定初始驗證失敗時要使用的登入網頁名稱。
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="401kApp" loginUrl="/login.aspx">
<credentials passwordFormat = "SHA1"
<user name="UserName"
password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
</credentials>
</forms>
</authentication>
</system.web>
</configuration>
需求
包含於:<system.web>
**Web 平台:**IIS 5.0、IIS 5.1、IIS 6.0
**組態檔:**Machine.config, Web.config
**組態區段處理常式:**System.Web.Configuration.AuthenticationConfigHandler