Возможно ли иметь обычные входы в систему и входы в ActiveDirectory в одном и том же приложении ASP.NET?

В настоящее время у меня есть приложение, которое использует Active Directory для аутентификации. Другими словами, виртуальный каталог IIS настраивает аутентификацию Active Directory, и мне вообще не нужно иметь с ним дело. Если вы находитесь в домене, вы можете войти.

Некоторые клиенты теперь также хотят добавить функцию, позволяющую им входить в систему, используя стандартную комбинацию идентификатора пользователя и пароля. Сценарий: подрядчик приходит на несколько дней со своим ноутбуком и ему нужен доступ к приложению. Для такого человека нет смысла создавать учетную запись Active Directory.

Возможно ли это в приложении ASP.NET? Как бы я поступил?


person AngryHacker    schedule 16.02.2011    source источник
comment
Используете ли вы в своем приложении Windows Authentication настраиваемые таблицы Membership и Roles (то есть таблицы по умолчанию, созданные при запуске aspnet_regsql, или вы извлекаете всю эту информацию из Active Directory?   -  person Pandincus    schedule 17.02.2011


Ответы (3)


Если вы преобразовали свое приложение для использования проверки подлинности с помощью форм, вы можете настроить 2 поставщиков членства; один для аутентификации в Active Directory, а другой может использовать стандартный SqlMembershipProvider. Этот второй провайдер — тот, в котором вы будете создавать свои временные учетные записи.

Что касается аутентификации у нескольких провайдеров, это довольно просто. В этой статье описывается процесс.

person Nathan Anderson    schedule 17.02.2011

Если вы конвертируете приложение для использования проверки подлинности с помощью форм, вы можете затем обработать метод входа в систему для проверки подлинности либо в Active Directory, либо в собственной внутренней базе данных пользователей, в зависимости от ожидаемых критериев. Существует несколько статей о том, как написать собственный код для выполнения простой аутентификации в Active Directory.

person Dillie-O    schedule 17.02.2011
comment
Я не думаю, что это сработает. Клиент по-прежнему хочет, чтобы пользователи, которые решили остаться с моделью ActiveDirectory, не раздражались на экране входа в систему. - person AngryHacker; 17.02.2011

Я бы сказал, что вам, вероятно, нужен собственный Authentication Provider, как описано в этой статье. Вы бы построили логику проверки для аутентификации в правильном магазине в зависимости от ваших критериев.

person Esteban Araya    schedule 17.02.2011