.NET中IIdentity和IPrincipal背后的想法是什么

阿罗拉曼

那么,IIdentityIPrincipal而不是不存在的目的是什么IIdentityMergedWithPrincipal何时在同一类中同时实现这两个条件还不够?

另外,为了了解目的,我想知道这个概念的来源:

  • 它起源于.Net
  • 将身份/主体作为设计模式的概念System.Security.Principal在这些接口中实现
  • 它起源于其他地方并受兼容性支持

因此,UserPrincipalfromSystem.DirectoryServices行为是否类似于IPrincipal但不是偶然或故意实施?

PS:我在寻找想法背后的理由,而不是利益/争议比较,因此,请不要尝试开始基于观点的讨论

马克镇

IIdentity不管用户可能扮演什么角色,都仅用于用户的身份验证

IPrincipal用于将用户的身份与他们在给定安全性上下文中拥有的授权角色结合在一起

例如,您可以使用第三方登录提供程序(如Facebook或Google)来获取用户的身份,但是由于这些提供程序不提供任何角色,因此您不会从这些提供程序中获取委托人。您可以使用自己的应用程序或基于第三方角色的授权提供程序将角色应用于FacebookIdentityGoogleIdentity不同的应用程序可以期望具有其自己角色的不同主体,但仍使用与另一个应用程序相同的身份。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OS X和iOS在更新中修改我的设置的背后是什么想法?

来自分类Dev

在OAuth中对QueryString进行哈希处理背后的想法是什么?

来自分类Dev

pytest-cache背后的想法是什么?

来自分类Dev

Yii2中的环境文件夹背后的想法是什么以及如何使用它?

来自分类Dev

将堆栈用于局部变量的背后的想法是什么?

来自分类Dev

md-autocomplete-parent-scope指令背后的想法是什么?

来自分类Dev

用户类应实现IPrincipal和IIdentity吗

来自分类Dev

允许将私有常量用作公共方法的默认参数的背后的想法是什么?

来自分类Dev

使用nn.Identity进行残差学习的背后想法是什么?

来自分类Dev

优先考虑CSS3跨浏览器背后的想法是什么?

来自分类Dev

生成文件,如下所述创建特殊变量的背后的想法是什么

来自分类Dev

bash中的$ {#}背后的故事是什么

来自分类Dev

ASP.NET中诸如[ResponseType(typeof(void))]之类的修饰背后的原因是什么?

来自分类Dev

协议缓冲区和Avro中的ZigZag编码背后的原因是什么?

来自分类Dev

Dart库中“ part”和“ part of”背后的原因是什么?

来自分类Dev

LBP中的统一和非统一模式背后的直觉是什么?

来自分类Dev

使用“收集”和“合并”的GROUP背后的算法是什么

来自分类Dev

使用“收集”和“合并”的GROUP背后的算法是什么

来自分类Dev

这个函数命令背后的逻辑和错误是什么?

来自分类Dev

条件赋值和返回赋值背后的逻辑是什么

来自分类Dev

IIdentity,IPrincipal,OWIN,IdentityUser和IUser <string>如何配合在一起?

来自分类Dev

C ++中静态多态性背后的动机是什么?

来自分类Dev

重新旋转的元素中的属性背后的计算是什么?

来自分类Dev

rstudio 0.98.501中的编织html按钮背后的代码是什么?

来自分类Dev

Jenkins中对SCM进行轮询的背后机制是什么?

来自分类Dev

Java中Math.pow()背后的算法是什么

来自分类Dev

C ++中静态多态性背后的动机是什么?

来自分类Dev

rstudio 0.98.501中的编织html按钮背后的代码是什么?

来自分类Dev

/ etc / crontab中设置的默认时间背后的故事是什么?

Related 相关文章

  1. 1

    OS X和iOS在更新中修改我的设置的背后是什么想法?

  2. 2

    在OAuth中对QueryString进行哈希处理背后的想法是什么?

  3. 3

    pytest-cache背后的想法是什么?

  4. 4

    Yii2中的环境文件夹背后的想法是什么以及如何使用它?

  5. 5

    将堆栈用于局部变量的背后的想法是什么?

  6. 6

    md-autocomplete-parent-scope指令背后的想法是什么?

  7. 7

    用户类应实现IPrincipal和IIdentity吗

  8. 8

    允许将私有常量用作公共方法的默认参数的背后的想法是什么?

  9. 9

    使用nn.Identity进行残差学习的背后想法是什么?

  10. 10

    优先考虑CSS3跨浏览器背后的想法是什么?

  11. 11

    生成文件,如下所述创建特殊变量的背后的想法是什么

  12. 12

    bash中的$ {#}背后的故事是什么

  13. 13

    ASP.NET中诸如[ResponseType(typeof(void))]之类的修饰背后的原因是什么?

  14. 14

    协议缓冲区和Avro中的ZigZag编码背后的原因是什么?

  15. 15

    Dart库中“ part”和“ part of”背后的原因是什么?

  16. 16

    LBP中的统一和非统一模式背后的直觉是什么?

  17. 17

    使用“收集”和“合并”的GROUP背后的算法是什么

  18. 18

    使用“收集”和“合并”的GROUP背后的算法是什么

  19. 19

    这个函数命令背后的逻辑和错误是什么?

  20. 20

    条件赋值和返回赋值背后的逻辑是什么

  21. 21

    IIdentity,IPrincipal,OWIN,IdentityUser和IUser <string>如何配合在一起?

  22. 22

    C ++中静态多态性背后的动机是什么?

  23. 23

    重新旋转的元素中的属性背后的计算是什么?

  24. 24

    rstudio 0.98.501中的编织html按钮背后的代码是什么?

  25. 25

    Jenkins中对SCM进行轮询的背后机制是什么?

  26. 26

    Java中Math.pow()背后的算法是什么

  27. 27

    C ++中静态多态性背后的动机是什么?

  28. 28

    rstudio 0.98.501中的编织html按钮背后的代码是什么?

  29. 29

    / etc / crontab中设置的默认时间背后的故事是什么?

热门标签

归档