Членство (+ роли) VS состояние сессии VS форма аутентификации - PullRequest
2 голосов
/ 20 декабря 2011

Я рассматриваю механизм входа и безопасности на моем сайте тестирования. Текущая ситуация выглядит следующим образом:

  • в базе данных есть таблица с 3 столбцами (имя, пароль, номер для разграничения прав доступа)
  • после успешного входа в систему и назначения прав доступа создается сеанс с именем пользователя и правами доступа
  • Администратор имеет доступ везде, пользователь к определенным страницам и не зарегистрированный пользователь только на страницу приветствия и входа в систему
  • каждая страница наследуется от главной страницы, где есть некоторая логика для проверки сеанса
  • Администратор и пользовательские страницы имеют механизм управления для определения прав доступа текущего пользователя в сеансе

Я также попытался сделать это с менеджером членства и ролей, однако база данных, сгенерированная asp.net, представляет собой довольно большой беспорядок (большое количество таблиц и записей в каждой таблице). Я понятия не имею, как настроить членство и роли, как я писал выше (имею в виду простую таблицу и использовать свои собственные элементы управления входом).

Но есть некоторые преимущества членства и ролей (легко получить количество зарегистрированных пользователей, меньше кода, автоматический выход из системы при закрытии страницы / браузера, автоматическое управление сеансом и т. Д.).

Я также думал об аутентификации форм, но я не уверен, есть ли такая гибкость, как с сеансом и членством.

Ответы [ 2 ]

0 голосов
/ 20 декабря 2011

Использование Членство и Роль Менеджер имеет много преимуществ.Однако иногда данных, сгенерированных стандартными поставщиками членства и ролей, недостаточно.

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

0 голосов
/ 20 декабря 2011

Все, что вы хотите сделать, уже покрыто поставщиком членства, который очень прост в использовании.Если вам не нужно ничего слишком сложного или нестандартного, я бы серьезно предложил снова обратиться к провайдеру членства, поскольку он будет делать именно то, что вы хотите, и он будет опробован и протестирован.Не изобретайте колесо ради этого.

Взгляните на эти статьи, которые в деталях охватывают все это:

Изучение членства в ASP.NET, Роли,и профиль

...