如何在asp.net mvc3应用程序中为用户分配角色?
我尝试过以下
public ActionResult Login(LoginModel model)
{
if (ModelState.IsValid)
{
if (model.user_id == "admin" && model.password == "admin")
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
"admin",
DateTime.Now,
DateTime.Now.AddMinutes(30),
false,
"admin",
FormsAuthentication.FormsCookiePath);
return JavaScript("window.location.replace('/Home/');");
}
else
{
return Content("Invalid User Id or Password.");
}
}
else
{
return View(model);
}
}
现在,当我尝试在任何视图中获取用户角色时,它永远不会给我作为管理员的角色。如何在登录后分配角色?
答案 0 :(得分:0)
为什么要在视图上访问用户角色?您不应该这样做,如果有任何特定需求,在从数据库中获取角色后,将角色存储在模型中,以便您可以通过model属性读取视图中的角色。
如果您不想更改模型,则还可以将属性添加到ViewBag。例如,ViewBag.UserRoles =“admin”;
我注意到的另一件事是你也没有创建主体对象并将其分配给HttpContext.User,以便你可以根据它来执行授权。