Как я могу предоставить Аутентификации Форм ASP.NET UX при использовании поставщиков Роли и Аутентификации Active Directory?

Действительно ли возможно использовать этого Ролевого Поставщика AspNetWindowsTokenRoleProvider с ASP.NET ФОРМИРУЕТ Аутентификацию (через этот MembershipProvider System.Web.Security.ActiveDirectoryMembershipProvider)?

Это, кажется, только работает с <authentication mode="Windows">, действительно ли возможно использовать его с ФОРМАМИ?

фон - цель здесь состоит в том, чтобы предоставить ASP.NET Формы UX при использовании Active Directory в качестве системы аутентификации бэкенда. Если бы существует другой, простой способ сделать этот использующие встроенные технологии, это является большим, и я хотел бы услышать об этом также.

обновление

Я должен сказать, что у меня есть работа аутентификации, с чем я борюсь, добавляет уровень детализированного управления (такого как Роли).

В настоящее время я должен установить свое Соединение Active Directory для указания на определенный OU в моем домене, который ограничивает доступ только к пользователям физически в этом OU - что я хотел бы, должен указать на мое соединение Active Directory с моим всем доменом и ограничить доступ на основе Состава группы (иначе Роли), это работает, если бы я использую аутентификацию Windows - но я хотел бы иметь лучший из обоих миров, действительно ли это возможно, не пишущий мой собственный RoleProvider?

10
задан Nate 15 April 2010 в 14:53
поделиться

2 ответа

Как уже упоминалось, вы не можете использовать ActiveDirectoryMembershipProvider с AspNetWindowsTokenRoleProvider . Если вы хотите использовать ADMP с проверкой подлинности с помощью форм, у вас есть несколько вариантов:

  1. Используйте AuthorizationManager , также известный как AzMan. - AzMan встроен в Windows 2003+ и может взаимодействовать с группами Active Directory. Кроме того, в .NET 2.0+ встроен AuthorizationStoreRoleProvider , который можно использовать для взаимодействия с ним. AzMan работает с задачами, операциями и ролями, в которых, предположительно, ваше приложение будет закодировано для выполнения определенных задач, которые затем можно сгруппировать в операции, и затем вы можете создавать роли, которые имеют право выполнять различные операции.При установке AzMan устанавливается приложение управления, которое можно использовать для управления задачами, операциями и ролями. Однако у AzMan есть некоторые недостатки. Во-первых, AuthorizationStoreRoleProvider не распознает задачи. Вместо этого он загружает список Роли со списком операций. Таким образом, если вы не создадите настраиваемую версию поставщика, вашим приложениям потребуется искать имена операций вместо имен задач. Во-вторых, с ним может быть сложно работать, ведь взаимодействие на самом низком уровне по-прежнему осуществляется через COM. Если вы не хотите, чтобы ваши администраторы использовали инструмент AzMan, вам нужно будет написать свои собственные страницы для управления операциями, ролями и членством в ролях.

  2. Используйте SqlRoleProvider и сопоставьте роли с именами пользователей. Преимущество этого решения в том, что его очень просто реализовать. Вы можете в значительной степени использовать его из коробки, поскольку RoleProvider работает с именем пользователя, а не с UserId. В вашем коде вы просто проверяете IsInRole, чтобы определить, был ли данный пользователь перенаправлен в роль, которую ваш код распознает. Существенным недостатком является то, что он ориентирован только на имена пользователей, а не на группы AD, и поэтому у администратора нет возможности использовать инструменты AD для управления пользователями. Вместо этого вам нужно написать консоль управления для управления членством в ролях. Кроме того, изменение имени пользователя на уровне AD потребует обновления списка известных имен пользователей вашего приложения.

  3. Напишите (или найдите) настраиваемый RoleProvider AD, который учитывает группы AD.Создание настраиваемого поставщика ролей не для слабонервных, но это позволяет администраторам управлять членством в ролях с помощью существующих инструментов AD.

6
ответ дан 4 December 2019 в 02:25
поделиться

Да, вы правы; он будет работать только с аутентификацией Windows Forms. Вы можете подтвердить это здесь: http://msdn.microsoft.com/en-us/library/system.web.security.windowstokenroleprovider.aspx

Просто предложение. Попробуйте AuthorizationStoreRoleProvider с AzMan (диспетчер авторизации). У меня это сработало (много лет назад, поэтому я мало что помню).

0
ответ дан 4 December 2019 в 02:25
поделиться
Другие вопросы по тегам:

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