Welcome 微信登录

首页 / 网页编程 / ASP.NET / ASP.NET 2.0(C#)(6) - Membership&RoleManager(成员资格和角色管理)

ASP.NET 2.0(C#)(6) - Membership&RoleManager(成员资格和角色管理)2011-12-31 webabcd 介绍

现在 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)。