MVC аутентификация при входе в систему - PullRequest
0 голосов
/ 20 мая 2018

Привет, я занимаюсь разработкой приложения в MVC, и у меня возникла проблема с входом в систему. Я хочу узнать, как я могу управлять входом в зависимости от роли пользователя.

Пока вход в систему работает нормально, ноМне нужно определить роль пользователя для отправки на разные страницы

У меня есть таблица в моем вызове базы данных Employee, и один столбец - это вызов IdPosition, который ссылается на другой вызов таблицы Position.

Здесьмой код

[HttpPost]
    public ActionResult Autorizacion(Pepitos.Models.Employee employee)
    {
        using (pepitosEntities db = new pepitosEntities())
        {
            var userDetails = db.Employees.Where(x => x.Username == employee.Username && x.Password == employee.Password).FirstOrDefault();

            if (userDetails == null)
            {
                employee.ErrorLoginMensaje = "Username or Password incorrect";
                return View("Login",employee);
            }
            else
            {
                Session["IdEmployee"] = userDetails .IdEmployee;
                Session["name"] = userDetails.Name;
                return RedirectToAction("EmployeesIndex", "EmployeesHome");
            }
        }

    }

1 Ответ

0 голосов
/ 20 мая 2018

Теперь вам нужно проверить роль после совпадения имени пользователя и пароля, а затем перенаправить соответствующим образом. Для этого я предположил, что у вас есть столбец роли в таблице базы данных вместе с именем пользователя и паролем.

 using (pepitosEntities db = new pepitosEntities())
    {
        var userDetails = db.Employees.Where(x => x.Username == employee.Username && x.Password == employee.Password).FirstOrDefault();

        if (userDetails == null)
        {
            employee.ErrorLoginMensaje = "Username or Password incorrect";
            return View("Login",employee);
        }
        else
        {

            var userRole=userDetails.role; //get the role of the user i.e whether user is admin or any other role

            if(userRole=="Admin")
            {
               Session["IdEmployee"] = userDetails .IdEmployee;
               Session["name"] = userDetails.Name;
               return RedirectToAction("EmployeesIndex","EmployeesHome");
            }
            else if(userRole=="User")
            {
                Session["IdUser"] = userDetails .IdUser;
                Session["name"] = userDetails.Name;
                return RedirectToAction("UserIndex","UserHome");
            }
            //and so on
        }
    }

надеюсь, это поможет!

...