Ролевый доступ в asp.net mvc 3
Как я могу назначить роль пользователю в приложении 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);
}
}
Теперь, когда я пытаюсь получить роль пользователя в любом представлении, он никогда не дает мне роль администратора. Как мне назначить роль после входа в систему?
1 ответ
Почему вы хотите получить доступ к ролям пользователей в представлении? Вы не должны этого делать, и если есть какие-то особые потребности, после получения ролей из базы данных сохраните роли в модели, чтобы вы могли читать роли в представлении через свойство модели.
Если вы не хотите менять модель, вы также можете добавить свойство в ViewBag. Например, ViewBag.UserRoles = "admin";
Еще одна вещь, на которую я обращаю внимание, это то, что вы также не создаете основной объект и не присваиваете его HttpContext.User, чтобы вы могли выполнять авторизацию на основе этого.