Я рассматриваю механизм входа и безопасности на моем сайте тестирования. Текущая ситуация выглядит следующим образом:
- в базе данных есть таблица с 3 столбцами (имя, пароль, номер для разграничения прав доступа)
- после успешного входа в систему и назначения прав доступа создается сеанс с именем пользователя и правами доступа
- Администратор имеет доступ везде, пользователь к определенным страницам и не зарегистрированный пользователь только на страницу приветствия и входа в систему
- каждая страница наследуется от главной страницы, где есть некоторая логика для проверки сеанса
- Администратор и пользовательские страницы имеют механизм управления для определения прав доступа текущего пользователя в сеансе
Я также попытался сделать это с менеджером членства и ролей, однако база данных, сгенерированная asp.net, представляет собой довольно большой беспорядок (большое количество таблиц и записей в каждой таблице). Я понятия не имею, как настроить членство и роли, как я писал выше (имею в виду простую таблицу и использовать свои собственные элементы управления входом).
Но есть некоторые преимущества членства и ролей (легко получить количество зарегистрированных пользователей, меньше кода, автоматический выход из системы при закрытии страницы / браузера, автоматическое управление сеансом и т. Д.).
Я также думал об аутентификации форм, но я не уверен, есть ли такая гибкость, как с сеансом и членством.