有人能解释一下,在新的ASP中,索赔机制意味着什么吗.网络身份核心?

正如我所看到的,有一张AspNetUserLogins的桌子,里面有UserIdLoginProviderProviderKey.

但是,我仍然无法理解或找到任何关于何时将数据添加到AspNetUserClaims表以及该表用于什么情况的信息?

推荐答案

索赔机制在新ASP中意味着什么.网络身份核心?

有两种基于角色和声明的常见授权方法.

Role-Based Security

用户被分配到一个或多个角色,用户通过这些角色获得访问权限. 此外,通过将用户分配给角色,用户可以立即获得为该角色定义的所有访问权限.

Claims-Based Security

基于声明的标识是声明集.声明是实体(用户或其他应用程序)对其所做的声明

以下步骤说明了基于声明的安全模型中发生的顺序:

  1. 用户请求一个操作.依赖方(RP)应用程序要求
  2. 用户向RP应用程序信任的颁发机构出示凭据.
  3. 颁发机构在验证用户的身份后,颁发一个带有声明的签名令牌
  4. 用户将令牌呈现给RP应用程序.应用程序验证令牌 签名,提取声明,并根据声明接受或拒绝 请求.

但是,我还是不能理解和找到任何信息,当数据 添加到AspNetUserClaims中,以及此表在哪些情况下使用?

当您处于未使用基于角色的安全性而 Select 使用基于声明的安全性的情况下 安全性,则需要使用AspNetUserClaims表. 有关如何在ASP.NET标识中使用声明的详细信息,请参阅下面的链接.

http://kevin-junghans.blogspot.com/2013/12/using-claims-in-aspnet-identity.html

Update

我必须在什么时候使用基于角色的安全性,什么时候使用基于声明的安全性? 你能写几个例子吗?

没有一种非常明确的情况下,您会或不会使用基于角色或基于声明的安全性,不像您会使用a而不是B.

但是,基于声明的访问控制允许更好地将授权规则与核心业务逻辑分离.当授权规则更改时,核心业务逻辑不会受到影响.在某些情况下,您可能更喜欢使用基于索赔的方法.

有时不需要索赔.这是一个重要的免责声明.

欲了解更多信息,请访问http://msdn.microsoft.com/en-us/library/ff359101.aspx

Asp.net相关问答推荐

在这个 For 循环计数没有增加

asp.net 单选按钮分组

ASP.NET @Register 与 @Reference

Automapper - 映射器已初始化错误

ASP.NET Membership:如何将用户设置为已登录

使用 jQuery 验证插件匹配两个字段

如何判断一个IP地址是否是私有的?

控制器 SessionStateBehavior 是只读的,我可以更新会话变量

iOS 8 / Safari 8 不适用于 ASP.NET AJAX 扩展

防止 asp.net Web 表单中的跨站点请求伪造 (csrf) 攻击

如何解决 Kerberos 双跳问题?

如何在 ASP.NET MVC3 中配置区域

反序列化客户端 AJAX JSON 日期

ASP.NET 中的多选下拉列表

将查询参数绑定到 ASP.NET Core 中的模型

有条件地排除 ASP.NET WebForms 中的一个 html 块

对于 DB ID,需要一个较小的 GUID 替代方案,但对于 URL 仍然是唯一且随机的

使 WCF Web 服务与 GET 请求一起工作

x-powered by是什么意思?

Page.IsPostBack 和 Page.IsCallBack 有什么区别?