Ролевый доступ в 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, чтобы вы могли выполнять авторизацию на основе этого.

Другие вопросы по тегам