Я пытаюсь добавить простую аутентификацию и авторизацию в приложение ASP.NET MVC.
Я просто пытаюсь использовать некоторые дополнительные функции для базовой проверки подлинности форм (благодаря простоте и настраиваемой структуре базы данных).
Предполагая, что это моя структура базы данных: Пользователь: имя пользователя пароль (в идеале, некоторые перечислены. Строки, если нужно. В настоящее время у пользователя только одна роль, но это может измениться)
Проблема высокого уровня: Учитывая указанную выше структуру базы данных, я хотел бы иметь возможность сделать следующее:
- Простой вход с использованием проверки подлинности с помощью форм
- Украсьте мои действия с помощью: [Авторизовать (Роли = {MyRoles.Admin, MyRoles.Member})]
- Используйте роли в моих представлениях (чтобы определить ссылки для отображения в некоторых частицах)
В настоящее время все, на что я действительно уверен, - это аутентификация. После этого я потерялся. Я не уверен, в какой момент я захвачу роль пользователя (логин, каждая авторизация?). Поскольку мои роли не могут быть строками, я не уверен, как они будут вписываться в User.IsInRole().
Теперь я спрашиваю здесь, потому что я не нашел "простого" решения, что мне нужно. Я видел несколько примеров.
Для аутентификации:
- У нас есть простая проверка пользователей, которая проверяет базу данных и "SetAuthCookie"
- Или мы переопределяем поставщика членства и делаем это внутри ValidateUser В любом из них я не уверен, как использовать мои простые пользовательские роли, чтобы они работали с: HttpContext.Current.User.IsInRole( "Администратор" ) Кроме того, я не уверен, как изменить это, чтобы работать с моими значениями перечисления.
Для авторизации я видел:
- Получение полномочий AuthorizeAttribute и реализация AuthorizeCore OR OnAuthorization для обработки ролей?
- Реализация IPrincipal?
Любая помощь будет принята с благодарностью. Тем не менее, я боюсь, что мне может понадобиться много деталей, потому что ничто из того, что я искал Google, похоже, соответствует тому, что мне нужно делать.