C# 从控制器获取[授权]数据

C# 从控制器获取[授权]数据,c#,asp.net-core,controller,asp.net-core-webapi,authorize,C#,Asp.net Core,Controller,Asp.net Core Webapi,Authorize,我有密码: [Authorize(Roles = "SuperAdministrators")] public class ButtonStyleController : ControllerBase { 在其他地方: [Authorize(Roles = "SuperAdministrators,CompanyAdministrators")] public class BankController : ControllerBase { 甚至: [Authorize(Roles = "Co

我有密码:

[Authorize(Roles = "SuperAdministrators")]
public class ButtonStyleController : ControllerBase
{
在其他地方:

[Authorize(Roles = "SuperAdministrators,CompanyAdministrators")]
public class BankController : ControllerBase
{
甚至:

[Authorize(Roles = "CompanyAdministrators")]
public class DriverController : ApiControllerBase
{

我需要检查代码中当前控制器允许哪些角色。是否可能?

您可以使用以下代码从类中获取AuthorizeAttribute类型的属性,然后访问Roles属性

AuthorizeAttribute currentAuthorizeAttribute = (AuthorizeAttribute)Attribute.GetCustomAttribute(typeof(DriverController), typeof(AuthorizeAttribute));
string roles = currentAuthorizeAttribute.Roles;

执行此操作的方式与读取类上的任何属性的方式相同。请看这里: