从控制器方法中获取用户角色

时间:2016-10-25 16:38:52

标签: c# asp.net-mvc authorization

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

[MyAuthorization(AccessLevels = new[] { AccessLevel.Admin, AccessLevel.Approver })] public ActionResult SomeFunction() { \\Do stuff... }

我的问题是 - 有没有办法从SomeFunction中获取用户的访问级别而无需重新获取它们?或者是控制器检查后丢失的访问级别列表?

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找:

User.IsInRole("role here")

UserManager.FindByNameAsync("name").Roles