Hassan Aijaz Ответов: 2

Как перенаправить пользователя на разные страницы входа в систему в зависимости от его ролей


Эй, ребята, так что мне нужны предложения и помощь.

У меня есть приложение, в котором у меня есть 3 различных формы входа в систему. 1 для Суперадмина, 1 для Субадмина и 1 для обычных пользователей.

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

Я использую Asp.net Mvc 4

Что я уже пробовал:

пожалуйста, скажите мне, есть ли какой-нибудь другой лучший способ

2 Ответов

Рейтинг:
1

Patrice T

Цитата:
пожалуйста, скажите мне, есть ли какой-нибудь другой лучший способ

Лучший способ-это 1 единая форма входа в систему !
Потому что вы знаете, кто является новым пользователем после входа в систему.
Цитата:
Я создаю 3 формы входа в систему для обеспечения безопасности

Не хочу показаться грубым, но, похоже, вы не совсем понимаете, как работает система безопасности.

Процедура:
- Логин пользователя
- проверьте, существует ли пользователь/пароль, в противном случае вернитесь к логину
- Получить роль для пользователя
- Роль магазина в переменной приложения
- пользователь, который использует переменную для активации частей приложения в зависимости от роли.


Greg Utas

Но тогда как же пользователь _first_ входит в систему?! :)

Patrice T

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

Рейтинг:
0

MadMyche

Как сказал Патрис, используйте 1 страницу входа для всех пользователей.

Вот очень простой сценарий обработки входа в систему, чтобы дать вам основную логику того, как это сделать. Это на линии квази-кода; и не должно быть использовано для производства

[HttpPost]
public ActionResult Login (string username, string password) {
   string NewPath;
   int RoleID = 0;

   if ((username == "superadmin") && (password == "superpass")) {
      RoleID = 1;
      NewPath = "SuperAdminPage";
   } else if ((username == "subadmin") && (password == "subpass")) {
      RoleID = 2;
      NewPath = "SubAdminPage";
   } else ((username == "normaluser") && (password == "normalpass")) {
      RoleID = 3;
      NewPath = "NormalUserPage";
   } else {
     RoleID = 0;
     NewPath = "LoginFailed";
   }

   Session("RoleID") = RoleID;
   Response.Redirect(NewPath);
}