2011-04-27 3 views
1

Хорошо, я работаю над веб-приложением asp.net, которое будет использоваться внутри компании, чтобы отслеживать, где наши сотрудники выходят на кампус и что они делают.Active Directory + HTTP Authentication

В настоящее время мы используем систему для этого, которая использует таблицы «NoSQL» (которые не знакомы на 100%), но это старая система, использующая скрипты cgi. Поэтому я переписываю его в asp.net для того, чтобы обновить систему, чтобы она была более современной с современным дизайном и добавлением в нее активной аутентификации каталога, поскольку она использует собственную пользовательскую базу данных отдельно от AD, которую мы используем везде.

Я нашел статью для enable Active Directory Authentication через web.config, однако вместо того, чтобы использовать проверку подлинности форм, я бы хотел связать это с HTTP-запросом для аутентификации. Я пробовал некоторые поиски Google, чтобы попытаться найти решение, но я не могу найти никого, кто сделал это раньше.

Заранее спасибо.

ответ

1

Во-первых, если вы собираетесь проверять подлинность пользователей с их учетными данными домена, вы должны убедиться в том, чтобы использовать HTTPS, так как в противном случае их пароли будут легко доступны с помощью сетевой сниффер.

ОК, так что вы говорите, это режим проверки подлинности Windows в ASP.NET с помощью IIS Basic Authentication. Вам необходимо настроить следующие вещи в вашем web.config:

<configuration> 
    <connectionStrings> 
    <add name="ADConnectionString" connectionString="LDAP://your.ad.fqdn.com/DC=com,DC=fqdn,DC=ad,DC=your"/> 
    </connectionStrings> 
    <system.web> 
    <membership defaultProvider="ADMembershipProvider"> 
     <providers> 
     <add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" connectionUsername="MYNTDOMAIN\someuser" connectionPassword="asdf1234"/> 
     </providers> 
    </membership> 
    <authentication mode="Windows"/> 
    </system.web> 
</configuration> 

Далее вы собираетесь хотите настроить IIS для обычной проверки подлинности. Предположим, что вы используете IIS 7.x. В диспетчере IIS найдите корневую папку вашего приложения и нажмите «Аутентификация». Здесь вы можете включить базовую аутентификацию. Вы также можете включить проверку подлинности Windows, чтобы пользователи IE/Chrome могли автоматически регистрироваться:

Basic Authentication in IIS 7

1

Аутентификация Windows обычно прозрачна (они автоматически аутентифицируются с учетными данными, которые они регистрируют в Windows с). Если вы хотите, чтобы они были вынуждены вводить учетные данные, ваша страница должна вернуть код состояния 401 HTTP.

1

Похоже, вы хотите включить проверку подлинности Windows в своем приложении ASP.NET вместо проверки подлинности с помощью форм. В основном это связано с изменением типа аутентификации в web.config с «Форм» на «Windows», а затем на установление прав пользователя/группы в IIS. Ниже приведена ссылка на особенности этих изменений.

Подробнее:

MSDN Article on Windows Authentication in ASP.NET

Смежные вопросы