В DotNetNuke какая разница между поставщиком аутентификации и поставщиком членства?

Я работаю с владельцем продукта, у которого есть веб-приложение ASP.NET, которое готовит некоторые отчеты. Для обсуждения давайте назовем это "WebApp1".

Она попросила, чтобы мы предоставили портал DotNetNuke для обеспечения функциональности форума.

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

Изучая эти требования, я обнаружил, что и шаблон MemberShipProvider, и AuthenticationProvider, по-видимому, удовлетворяют одним и тем же требованиям.

С точки зрения DotNetNuke, в чем разница между этими провайдерами? Какой шаблон представляет наименьшую сложность?

Пожалуйста, знайте, что мой опыт работы с DotNetNuke ограничен.

Пожалуйста, знайте, что я благодарен сообществу Stackru за вашу помощь.

2 ответа

---- Я работаю на PowerDNN.com ----

Привет, Майкл! Несколько месяцев назад я написал провайдеру членства, чтобы сделать нечто подобное, когда мы подключали веб-сайт DotNetNuke к серверной системе на основе Linux для авторизации. Я чувствовал, что немного обманул, но мое решение сработало довольно хорошо.

Вот что я сделал: 1) Я унаследовал от поставщика членства DotNetNuke. 2) Я переопределил функцию "Логин" пользовательским кодом. 2.1) Находит пользователя в удаленной системе. 2.2) Проверяет учетные данные удаленного пользователя. 2.3) Создает пользователя в DNN, если он еще не существует. 2.4) Он синхронизирует любые разрешения в DNN 2.5) Я вхожу в систему пользователя.

В качестве FYI, когда я создаю локального пользователя, я даю ему префикс, такой как "CUSTOM-#####", где ##### - это его идентификатор в удаленной системе. Таким образом, я могу легко определить, какие пользователи являются "обычными" пользователями dnn, а какие - синхронизированными.

Кроме того, если я не могу найти пользователя в удаленной БД, то я аутентифицируюсь на самом DNN (таким образом, работают такие пользователи, как "Host" и "Admin").

Надеюсь, это поможет!

Аутентификация обрабатывает только вход в систему (кто вы, {username} и у вас есть правильный пароль).

Членство обрабатывает это плюс еще как авторизация (теперь, когда я знаю, кто вы, можете ли вы это сделать)

Другие вопросы по тегам