那么,IIdentity
和IPrincipal
而不是不存在的目的是什么IIdentityMergedWithPrincipal
?何时在同一类中同时实现这两个条件还不够?
另外,为了了解目的,我想知道这个概念的来源:
System.Security.Principal
在这些接口中实现因此,UserPrincipal
fromSystem.DirectoryServices
行为是否类似于IPrincipal
但不是偶然或故意实施?
PS:我在寻找想法背后的理由,而不是利益/争议比较,因此,请不要尝试开始基于观点的讨论
IIdentity
不管用户可能扮演什么角色,都仅用于用户的身份验证。
IPrincipal
用于将用户的身份与他们在给定安全性上下文中拥有的授权角色结合在一起。
例如,您可以使用第三方登录提供程序(如Facebook或Google)来获取用户的身份,但是由于这些提供程序不提供任何角色,因此您不会从这些提供程序中获取委托人。您可以使用自己的应用程序或基于第三方角色的授权提供程序将角色应用于FacebookIdentity
或GoogleIdentity
。不同的应用程序可以期望具有其自己角色的不同主体,但仍使用与另一个应用程序相同的身份。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句