允许多个用户类型的简单授权问题
Posted
技术标签:
【中文标题】允许多个用户类型的简单授权问题【英文标题】:Simple authorization question to allow more than one user type 【发布时间】:2021-07-17 10:33:27 【问题描述】:我的 api 中有 3 个角色:
-
用户
管理员
客人
在测试我的前端时,我主要使用管理员角色,但现在有一些方法我想使用两个角色。
//GET: api/Job
[Authorize(Roles = Role.Admin)]
[Authorize(Roles = Role.User)]
[HttpGet]
public async Task<ActionResult<IEnumerable<Job>>> GetJob()
... code
这样写不会产生想要的结果:管理员和用户都应该可以访问该方法,相反,您需要同时是管理员和用户,所以无论您是谁,我的前端都会自动将您注销登录为。如何重写 Authorize 以允许两个角色?
【问题讨论】:
***.com/questions/700166/… 这能回答你的问题吗? Allow multiple roles to access controller action 【参考方案1】:来自文档:
/// <summary>
/// Gets or sets a comma delimited list of roles that are allowed to access the resource.
/// </summary>
public string Roles get; set;
这意味着您需要使用逗号分隔的角色列表,而不是多个 AuthorizeAttribute。
[Authorize(Roles = Role.Admin + "," + Role.User)]
【讨论】:
以上是关于允许多个用户类型的简单授权问题的主要内容,如果未能解决你的问题,请参考以下文章
如果用户不允许某些条目类型,HealthKit 无法编写具有多个条目的 HKSample
SOA:Rails 多个客户端的用户身份验证和 api 授权