介紹
現在 ASP.NET 2.0 提供了對成員資格(用戶名/密碼憑據存儲)和角色管理服務的內置支持。由於所有這些服務都是提供程序驅動的(Provider),因此可以方便地用您自己的自定義實現替換。
關鍵
1、基於Windows的身份驗證將<system.web>元素下的<authentication> 設置為 Windows;基於Forms的身份驗證將<system.web>元素下的<authentication> 設置為 Forms。
2、基於Forms的身份驗證時,設置<system.web>元素下的<authentication> 元素的 <forms> 子元素,示例如下,僅為說明
<authentication mode="Forms"> <forms name=".VS2005_Form" loginUrl="~/Security/Login.aspx" defaultUrl="~/Default.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" enableCrossAppRedirects="false" cookieless="UseDeviceProfile"> </forms> </authentication>
<forms>元素的屬性說明如下
1) cookieless - 身份驗證可以將 Forms 身份驗證票存儲在 Cookie 中也可以以無 Cookie 的表示形式存儲在 URL 上。有效值如下:
·UseDeviceProfile - 默認值表示 ASP.NET 根據預先計算得到的浏覽器配置文件來確定存儲票證的位置。
·AutoDetect - 選項使 ASP.NET 動態確定浏覽器是否支持 Cookie。
·UseUri - 強制實施無 Cookie 票證
·UseCookies - 強制實施有 Cookie 票證。
2) defaultUrl - 指定在成功登錄後,請求將重定向到的默認 URL。
3) domain - 指定包含 Forms 身份驗證票的 HttpCookie 的 Domain 屬性的值。顯式設置此屬性可使應用程序共享同一個 Cookie,前提是這些應用程序共享某個 DNS 命名空間的一個公共部分(例如,如果 domain 屬性設置為“cnblogs.com”,則 webabcd.cnblogs.com 和 dudu.cnblogs.com可以共享一個 Cookie)。