[Authorize]属性如何知道用户是否具有角色?

问题描述 投票:0回答:2

假设我在ASP.NET Core MVC应用程序中具有身份验证和授权的有效实现,并且在操作上我具有[Authorize(Roles = "Admin")]属性。我刚刚登录,现在要调用该动作。

[调用该动作时,[Authorize(Roles = "Admin")]属性在哪里查看用户是否具有"Admin"的角色? "Admin"存储在哪里?

asp.net-mvc asp.net-core authorize-attribute
2个回答
0
投票

如果使用的是ASP.NET Identity的默认实现,则角色将存储在表AspNetRoles中,而用户角色分配将存储在AspNetUserRoles表中。

[Authorize]属性在执行操作之前已执行。请查看以下链接,以获取有关请求管道的更多详细信息:Filters in ASP.NET Core


0
投票

这可能取决于您使用的身份验证类型。我只在使用JwtBearer身份验证方案。

在这种情况下,这些信息通常被编码为访问令牌(由您的应用程序或其他身份提供程序提供,并且您的客户端将您的请求与令牌中的其他个人数据一起发送。

© www.soinside.com 2019 - 2024. All rights reserved.