深入解析 RolePrincipal:角色管理与缓存机制
1. Role Manager 主键概念
Role Manager 与 Membership 特性类似,也有主键的概念。在处理用户和角色时,会将提供者配置中的用户名和应用程序名组合起来,作为“主键”。不过,与 Membership 不同的是,Role Manager 不会在公共 API 中暴露特定于数据存储的主键。Roles 类和 RoleProvider 基类仅使用字符串形式的用户名和角色名来引用用户和角色,应用程序名则隐式地从提供者配置中获取。
2. RolePrincipal 类概述
Role Manager 特性的主要目的是提供一个基于 IPrincipal 的对象,RolePrincipal 类实现了这个接口。它可用于任何需要 IPrincipal 进行 IsInRole 调用的框架应用程序(包括 ASP.NET 和非 ASP.NET 应用)。RolePrincipal 还提供了一些额外的方法,用于检索用户的所有角色,以及处理使用 cookie 缓存时的相关工作。
以下是 RolePrincipal 类在 C# 和 VB.NET 中的定义:
C# 代码示例 :
public sealed class RolePrincipal : IPrincipal, ISerializable
{
//Constructors
public RolePrincipal(IIdentity identity, string encryptedTick
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



