В 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} и у вас есть правильный пароль).
Членство обрабатывает это плюс еще как авторизация (теперь, когда я знаю, кто вы, можете ли вы это сделать)