Жесткий код роли (вне базы данных) для ASP.NET MVC и добавление аутентифицированных пользователей Windows - PullRequest
0 голосов
/ 07 сентября 2018

Как бы я занялся жестким кодированием роли в ASP.NET MVC внутри самой программы, а не через базу данных, для аутентификации (а затем, как я мог бы добавить людей к этой роли)?

То, что я пытаюсь сделать, - это 3 роли: Progammer, DatabaseAdministrator и SystemsAdministrator. Я хотел бы иметь возможность добавлять людей в эти роли (также жестко заданные), а затем проверять подлинность людей на основе роли, а не имени пользователя. Прямо сейчас я проверяю подлинность таких людей:

If (@User.Identity.Name == "DOMAIN\\first.m.last")

Что я хочу сделать, это:

If (@User.Identity.Role == "ROLENAME")

Однако у меня только три роли и 8 человек; Я не хочу создавать таблицу в своей базе данных для них. Поэтому я бы создал роль DatabaseAdministrator, а затем добавил бы трех человек в качестве строки "DOMAIN \ first.m.last". Тогда я мог бы заставить действие заполнить представление, основываясь на их роли.

Все, что я видел до сих пор, заставляет вас делать это через базу данных. Буду признателен за любую помощь. Спасибо!

1 Ответ

0 голосов
/ 07 сентября 2018

Я предполагаю, что вы используете проверку подлинности Windows.

С учетом сказанного вы можете легко авторизоваться на основе групп пользователей Active Directory. Это будет держать вас вне базы данных, и все, что вам нужно сделать, это добавить пользователя в группу AD, если пользователи меняются.

Затем вы можете авторизоваться на контроллере или действии с помощью этой аннотации.

[Authorize(Roles = @"DOMAIN\ADGroup")]
...