2009-09-18 3 views
3

Для чего используется членствоProvider? Нужно ли мне это вообще? При использовании проверки подлинности форм я никогда не указывал ни одного поставщика членства в файле конфигурации, я аутентифицировал пользователей, вызывая FormsAuthentication.SetAuthCookie. Я много читал об этом вчера, и я не могу понять, зачем я его использую?MembershipProvider in asp.net

ответ

3

ЧленствоProvider - это, прежде всего, подключаемый, стандартизованный репозиторий. Если вы основываете свою аутентификацию на MemberhipProvider, вы можете позже ее обменивать с другим провайдером без каких-либо изменений на вашем веб-сайте. Кроме того, он поддерживается стандартными компонентами (элементами Login, LoginView, LoginStatus, LoginName и PasswordRecovery) и может управляться через страницы администрирования ASP.NET.

+0

но я должен использовать его? или я могу успешно аутентифицировать своих пользователей, даже не зная, что у вас есть членство? – agnieszka

+0

Конечно, вам не обязательно. Это для вашего удобства. Все, что вам нужно для проверки подлинности форм, - это код для проверки имени пользователя и пароля и вызова методов FormsAuthentication. –

3

Это очень удобно, как сказал Тор.

Если вы используете элементы управления по умолчанию для usermanagement/login/password reset и т. Д., Вы можете просто изменить параметр web.config, и ваши пользователи смогут использовать другой механизм для аутентификации.

Существуют поставщики AD, для SQL Server для ADAM, для Federrated Login и некоторых других. Это не так важно, когда вы разрабатываете приложение для интрасети, поскольку вы, скорее всего, будете полагаться на NTLM или kerberos, но когда вы публикуете в Интернете, он становится весьма удобным.

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

2

Я не думаю, что его что полезно, если вы не используете встроенные элементы управления.

Что вы можете сделать, это просто реализовать поставщик членства со всеми методами, бросая NotImplementedException и реализовать, когда вы узнаете, какие методы фактически используются. Его просто 2 или 3, если я правильно помню.

RoleProvider более полезен, я использую поставщик только с методом GetRolesForUser, поэтому я могу использовать встроенную поддержку для авторизации на основе ролей.

+0

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

Смежные вопросы