0

我正在实现IPrincipal接口,而role参数String对我来说听起来很奇怪。我想这是有充分理由的,但我想知道为什么。

4

2 回答 2

11

这是因为 roleprovider 是身份验证的可插入部分,因此您可以滚动自己的(双关语)并为用户的角色成员资格提供结果。

如果您想象基于角色的身份验证机制需要具有任意数量的命名角色,那么如果这是基于某些类型化或硬编码的系统,这将不是那么容易。因此,使用字符串匹配以某种方式存储的角色实际上可以正常工作。

PS asp.net 会员和身份验证系统总体上是一团糟,即将在即将使用 owin 模式的 MVC5 和 Asp.Net 更新中进行重大升级。

于 2013-07-15T12:10:55.093 回答
0

在我看来,跨 API(例如 Windows 或 Novell)确定角色的实现是完全不同的。但是,一个共同点是有组名,而 astring是正确的类型。

看,在引擎盖下,IsInRole可以有许多不同的实现。其中一些查询 Active Directory。

于 2013-07-15T12:08:43.673 回答