我正在尝试将角色添加到我的AspNet Core WebApp中,其中身份验证已经正常工作。
以下是我在启动时所做的:
services
.AddIdentity<User, Role>()
.AddEntityFrameworkStores<IdentityContext>()
.AddDefaultTokenProviders()
.AddUserStore<UserStore<User, Role, IdentityContext, Guid>>()
.AddRoleStore<RoleStore<Role, IdentityContext, Guid>>();
我给我的User
以前创建的角色"管理员"one_answers"超级管理员",并为给定的控制器操作添加了以下筛选器:
[Authorize(Roles = "Admin")]
然而,当尝试访问该端点时,我得到了一个403禁止。
我不明白我错过了什么。
我发现了一个类似于我的问题。这个人回答了自己的问题,但没有把它标记为答案。
基本上,我似乎必须在我生成的JWT中添加角色作为声明。
https://stackoverflow.com/a/50444865/1826096