根据用户角色呈现不同的视图ASP.NET MVC 5

时间:2014-03-03 03:46:30

标签: c# asp.net asp.net-mvc-5 asp.net-identity

这就是我正在努力的方向。我在Asp.Net MVC 5项目中设置了角色。我有两个角色:管理员和员工。我希望他们在登录时转到不同的视图。我怎么能这样做?

        public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindAsync(model.UserName, model.Password);
                if (user != null)
                {
                    await SignInAsync(user, model.RememberMe);
                    //if user is admin, return View1();
                    //if user is employee, return View2(); 

                }
            }
            return View();
        }

1 个答案:

答案 0 :(得分:3)

如果您在创建后将用户添加到角色或多个角色,如下所示:

result = UserManager.AddToRole(user.Id, "User");

您可以通过以下行轻松获得用户的角色:

bool isAdmin = UserManager.IsInRole(user.Id, "Admin")