Roles.CacheRolesInCookie 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指示当前用户的角色是否已缓存在某个 Cookie 中。
public:
static property bool CacheRolesInCookie { bool get(); };
public static bool CacheRolesInCookie { get; }
static member CacheRolesInCookie : bool
Public Shared ReadOnly Property CacheRolesInCookie As Boolean
属性值
如果当前用户的角色已缓存在某个 Cookie 中,则为 true
;否则,为 false
。 默认值为 true
。
示例
以下示例演示 ASP.NET 应用程序的 Web.config 文件的 节中的 system.web
roleManager 元素。 它指定应用程序使用 SqlRoleProvider 实例并将 属性 cacheRolesInCookie
设置为 true
。
<roleManager defaultProvider="SqlProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="SqlServices"
applicationName="MyApplication" />
</providers>
</roleManager>
注解
当 Web.config 文件中的 CacheRolesInCookie 属性设置为 true
时,每个用户的角色信息将存储在 Cookie 中。 当角色管理检查用户是否处于特定角色时,会在调用角色提供程序以检查数据源中的角色列表之前检查角色 Cookie。 该 Cookie 会动态更新,以缓存最近验证的角色名称。
配置 ASP.NET 角色时,可以通过指定 CookieProtectionValue 属性来提高 cookie 中缓存的角色名称的可靠性。 默认值为 CookieProtectionValueAll
,用于加密 Cookie 中的角色名称,并验证 Cookie 内容是否未更改。
注意
由于角色名称可以独立于数据源进行缓存,因此对数据源中角色管理的更改可能不会反映在缓存的值中。 在这种情况下,用户必须关闭并重新打开其浏览器以清除缓存的 Cookie 值。
适用于
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈