共用方式為


<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

請參閱

<authentication> 項目 | ASP.NET 組態 | ASP.NET 設定結構描述