如何在MVC中找到用户名和角色?

时间:2012-05-17 08:59:20

标签: asp.net asp.net-mvc-3

有什么方法可以在MVC中找到用户和用户的角色? .Net中的用户也可以同时拥有多个角色吗?

3 个答案:

答案 0 :(得分:3)

使用

string username = Page.User.Identity.Name;
string[] roles =Roles.GetRolesForUser(username);  

希望它有所帮助。祝好运。

答案 1 :(得分:1)

标准ASP.NET方式:

  public ActionResult Test()
  {
    if (User.IsInRole("role name"))
    {
      //do something
    }
    return View();
  }

是的,用户可以担任多个角色。

答案 2 :(得分:0)

你会发现用户&它在HttpContext对象中的角色(身份和原则)对象如下

HttpContext.User
HttpContext.User.Identity

你必须在basecontroller上覆盖onauthorize方法,比如这个

public class HomeController : Controller
    {
        protected override void OnAuthorization(AuthorizationContext filterContext)
        {
            //filterContext.HttpContext.User.Identity  
            base.OnAuthorization(filterContext);
        }
}