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

Что я хочу:

Приложение интрасети, в котором только пользователи, вошедшие в систему, могут видеть приложение... и роль администратора и участника.

1:

Я создал веб-приложение MVC 5.0 (для интранета).

У него есть домашний вид с домашним контроллером... У меня есть вид администратора с административным контроллером.

На главной странице есть ссылка (ну, это еще не ссылка, а какая-либо другая) на нее, которая является условной:

@if(User.IsInRole("Admin")){
    <li>Admin</li> @*Will be link to admin controller action*@
}

Я хотел бы создать 1 пользователя с ролью "Администратор" и позволить ему / ей затем создавать новых пользователей (назначая им логины аутентификации Windows) с именем пользователя и новой ролью "Администратор" или "Участник"...

2:

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

Например,

Джон имеет доступ только на чтение и запись к некоторым таблицам ("Член"), но Джек и Джилл имеют доступ на чтение и запись ко всем таблицам ("Администратор").

Джон не может видеть ссылку администратора на главном экране, но Джилл может. Действие контроллера Admin заблокировано, чтобы разрешить пользователям только роль "Администратор" в качестве роли, а не "Участник"...

Основной вопрос (с учетом 1 и 2):

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

Что я сделал до сих пор:

В настоящее время у меня включена проверка подлинности Windows, и я могу успешно использовать приложение и вызвать:

@User.Identity.Name

чтобы узнать кто я...

Примечания стороны:

Я хотел бы понять, в каком контексте должны использоваться параметры Авторизации, например.

[Authorize(Roles="Admin")]

0 ответов

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