Авторизация в контроллере - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть следующий код для авторизации, я хочу добавить роль авторизации, скажем, 3 типа пользователей.В базе данных у меня есть пользователь (идентификатор, имя пользователя, пароль, UserRole).Я просмотрел много учебных пособий, но ничего, что я нашел полезным для решения этой проблемы.

 public class LoginController : Controller
    {
        // GET: Login
        [HttpGet]
        public ActionResult Login()
        {
            return View();
        }


        [HttpPost]
        [ValidateAntiForgeryToken]
        [OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]
        public ActionResult Login(LoginModel model)
        {

            if (ModelState.IsValid)
            {
                User user = model.login(model.UserName,model.Password);
                if (user != null)
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, true);

                    this.Session["user"] = user;
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    ModelState.AddModelError("", "Niste uneli ispravne podatke!");
                }
            }
            return View("Login", model);
        }



        [Authorize]
        public ActionResult Logout()
        {
            FormsAuthentication.SignOut();
            this.Session["user"] = null;
            this.Session.Abandon();
            return RedirectToAction("Index", "Home");
        }


    }

Теперь у меня есть [Авторизация] на каждом контроллере, я хочу иметь возможность [Authorize (Roles = "temp"))], [Authorize (Roles = "admin")] и т. Д.

...