Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从控制器方法内获取用户角色_C#_Asp.net Mvc_Authorization - Fatal编程技术网

C# 从控制器方法内获取用户角色

C# 从控制器方法内获取用户角色,c#,asp.net-mvc,authorization,C#,Asp.net Mvc,Authorization,我构建了一个自定义授权类,该类继承自AuthorizeAttribute。它返回一个enum AccessLevel列表,因为用户可以有多个角色。我修饰了我的控制器方法,如下面的示例,该示例将某些功能仅限于管理员和/或批准者: [MyAuthorization(AccessLevels=new[]{AccessLevel.Admin,AccessLevel.Approver}] 公共操作结果函数() { \\做些事情。。。 } 我的问题是-有没有一种方法可以从某个函数中获取用户的访问级别,而不必

我构建了一个自定义授权类,该类继承自
AuthorizeAttribute
。它返回一个
enum AccessLevel
列表,因为用户可以有多个角色。我修饰了我的控制器方法,如下面的示例,该示例将某些功能仅限于管理员和/或批准者:

[MyAuthorization(AccessLevels=new[]{AccessLevel.Admin,AccessLevel.Approver}]
公共操作结果函数()
{
\\做些事情。。。
}


我的问题是-有没有一种方法可以从某个函数中获取用户的访问级别,而不必重新获取它们?或者在控制器检查访问级别后,访问级别列表是否丢失?

我想您正在寻找:

User.IsInRole("role here")


我确实尝试了User.IsInRole(“Admin”),尽管我尝试了,但它总是返回false。对于非标准角色,您需要做些特殊的事情吗?此外,UserManager似乎不存在:
名称“UserManager”在当前上下文中不存在
UserManager.FindByNameAsync("name").Roles