Членство, MembershipProvider и отношения MembershipUser в ASP.NET?

Да, есть опция компилятора, / utf-8 (MSVC)

8
задан GEOCHET 9 March 2009 в 22:09
поделиться

2 ответа

В то время как это не совершенно прозрачно на MSDN, это не все, что это усложнило. Существует трио классов:

  • Членство: обеспечивает служебные методы и точку входа - в основном Singleton (статический класс).
  • MembershipProvider: действия как средство доступа данных и фабрика для объектов MembershipUser.
  • MembershipUser: представляет отдельного пользователя.

Пользовательский MembershipProvider выбран (кодом в Членстве) на основе конфигурации Вашего приложения: configuration/system.web/membership. Вот то, где Вы приносите Вашему поставщику в игру. Ваша реализация MembershipProvider должна быть записана для доступа безотносительно хранилища данных, которое Вы предпочитаете для пользователей: Ваша таблица User в этом случае.

Объекты MembershipUser только создаются через Ваш MembershipProvider. MembershipProvider. ValidateUser () метод должен проверить по Вашему хранилищу данных, что комбинация пользователя/пароля допустима. MembershipProvider. GetUser () получает информацию о пользователе - используют, он в доступе защитил страницу и передачу в Системе. Сеть. HttpContext. Текущий. Пользователь. Идентификационные данные. Имя как текущий аутентифицируемый пользователь.

С учетом вышесказанного, я надеюсь, что Вы уверены, что не хотите использовать Профили и действительно хотеть иметь таблицу отдельного пользователя. Если бы Вы пишете внутреннее приложение, с помощью существующего Active Directory, или LDAP-поддерживающее хранилище данных уменьшило бы затраты на администрирование и вероятно угрозы безопасности. Существуют сотни вещей, которые можно легко сделать неправильно при хождении путем MembershipProvider. Вы используете посолившие хеши? Как Вы защищаете таблицу User от управления? MSDN касается только части проблем безопасности, с которыми можно столкнуться.

8
ответ дан 5 December 2019 в 19:03
поделиться

Определенный поставщик использовал, управляется на web.config. Можно на самом деле установить больше чем 1 поставщика и иметь по умолчанию. Проверьте: http://msdn.microsoft.com/en-us/library/6e9y4s5t.aspx.

При вызове как этот членство просто использует поставщика по умолчанию. Вы наследовали бы MembershipUser, если бы Вы хотели предоставить дополнительную информацию пользователю, но это свяжет остальную часть Вашего кода с Вашим определенным поставщиком.

1
ответ дан 5 December 2019 в 19:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: