MembershipProvider в asp.net - PullRequest
       27

MembershipProvider в asp.net

3 голосов
/ 18 сентября 2009

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

Ответы [ 3 ]

3 голосов
/ 18 сентября 2009

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

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

Есть провайдеры для AD, для SQL Server для ADAM, для Federrated Login и некоторые другие. Это не так важно, когда вы разрабатываете приложение для интрасети, так как вы, скорее всего, будете полагаться на NTLM или kerberos, но когда вы публикуете в Интернете, это очень удобно.

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

3 голосов
/ 18 сентября 2009

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

2 голосов
/ 18 сентября 2009

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

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

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

...