Внедрение аутентификации форм в приложении asp.net mvc

100
12

Я разрабатываю приложение для социальных сетей ASP.NET MVC4, которое будет иметь 5 типов пользователей: ученик, администратор, супервайзер, поставщики и т.д.

Я хочу использовать проверку подлинности форм, так как это интернет-приложение. В моей базе данных есть таблицы USERS, ROLES & FEATURES вместе с другими таблицами на SQL-сервере. Как реализовать аутентификацию в ASP.NET MVC? Где я могу хранить зарегистрированную информацию о пользователе? (eg session, viewbag, tempdata, etc.) и каков наилучший подход к реализации этого? Я не хочу использовать функцию websecurity по умолчанию, предоставляемую MVC.

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

Пожалуйста, помогите мне в этом.

спросил(а) 2021-01-25T14:12:00+03:00 5 месяцев назад
1
Решение
64

Существует несколько уровней функций безопасности, встроенных в ASP.NET.

    Модуль аутентификации форм. Это часть, ответственная за создание и управление cookie аутентификации и разрешение/блокирование доступа к сайту. Это инфраструктура голой кости, и вы должны использовать ее для использования "Аутентификации форм". База данных членства и API. Позволяет хранить идентификатор пользователя/пароль и некоторые другие пользовательские атрибуты. Необязательно, если у вас есть другие способы проверки учетных данных пользователя База данных ролей и API. Необязательно, если вы не хотите предоставлять мелкозернистую авторизацию.

Если вы строите совершенно новый веб-сайт без существующей инфраструктуры управления идентификацией/доступом, существует очень мало причин изобретать колесо и строить инфраструктуру членства и роли с нуля, если они не поддерживают ваши требования.

Если вы хотите понять основные отправные точки безопасности ASP.NET, получите пробную подписку на http://www.pluralsight.com/training и возьмите курс безопасности ASP.NET.

ответил(а) 2021-01-25T14:12:00+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема