为什么IPrincipal.IsInRole参数是字符串
本文关键字:字符串 参数 IsInRole IPrincipal 为什么 | 更新日期: 2023-09-27 18:22:17
我正在实现IPrincipal
接口,而role
参数是String
这一事实听起来很奇怪。我想这是有充分理由的,但我想知道为什么。
这是因为角色提供程序是身份验证的可插入部分,因此您可以滚动自己的(双关语)并提供用户角色成员身份的结果。
如果您设想一个基于角色的身份验证机制需要有任意数量的命名角色,那么如果这是基于某种类型化或硬编码的系统,那么这就不那么容易了。因此,使用字符串来匹配以某种方式存储的角色实际上是可行的
附言:asp.net的会员资格和身份验证系统总体上一团糟,即将在即将到来的MVC5和asp.net更新中使用owin模式进行重大升级。
在我的脑海中,在API(如Windows或Novell)中确定角色的实现是非常不同的。然而,一个共同点是有组名,string
是正确的组名类型。
请看,在后台,IsInRole
可以有许多不同的实现。其中一些查询Active Directory。