【问题标题】:Authorize attribute - do I need to store the roles as claims?授权属性 - 我需要将角色存储为声明吗?
【发布时间】:2014-06-06 11:45:26
【问题描述】:

我正在开发一个 API,它使用不记名令牌和声明来验证和授权我的用户。

一切都很好。但我想知道这个设置的角色管理。

我是否必须将角色存储为声明才能使 [Authorize(Roles="")] 属性起作用? 目前我在两个表中都有用户角色,AspNetUserRoles 和 AspNetUserClaims 因为如果该属性不在令牌中(不在声明表中),则该属性不会读取用户角色,将角色存储在两个表中似乎有点矫枉过正。

这是为什么呢?与用户相关的所有其他内容都可以通过 UserManager 访问,并且我认为角色将从相关实体中读取,而不是通过令牌。

【问题讨论】:

    标签: c# asp.net authentication authorization claims-based-identity


    【解决方案1】:

    哦,我明白了。现在它起作用了。 AspNetUserRoles 中的角色会自动添加到令牌中。 因此无需将角色存储在两个表中。 我不知道为什么它以前不起作用。但是在发行了一些新令牌之后,它似乎起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      相关资源
      最近更新 更多