假设我在ASP.NET Core MVC应用程序中具有身份验证和授权的有效实现,并且在操作上我具有[Authorize(Roles = "Admin")]
属性。我刚刚登录,现在要调用该动作。
[调用该动作时,[Authorize(Roles = "Admin")]
属性在哪里查看用户是否具有"Admin"
的角色? "Admin"
存储在哪里?
如果使用的是ASP.NET Identity的默认实现,则角色将存储在表AspNetRoles
中,而用户角色分配将存储在AspNetUserRoles
表中。
[Authorize]属性在执行操作之前已执行。请查看以下链接,以获取有关请求管道的更多详细信息:Filters in ASP.NET Core
这可能取决于您使用的身份验证类型。我只在使用JwtBearer身份验证方案。
在这种情况下,这些信息通常被编码为访问令牌(由您的应用程序或其他身份提供程序提供,并且您的客户端将您的请求与令牌中的其他个人数据一起发送。