2

Мы пытаемся настроить ActiveDirectoryMemebershipProvider для приложения интрасети ASP.NET, которое должно автоматически подписывать пользователей в приложении, когда оно доступно в браузере.ActiveDirectoryMembershipProvider не принимает FQDN

Однако браузер отправляет полное доменное имя (MYDOMAIN \ some.user) на сервер, а ActiveDirectoryMemebershipProvider, похоже, не сможет найти пользователя на основе полного доменного имени. Однако, когда мы тестируем поставщика вручную из кода, мы обнаружили, что если мы попробуем только имя пользователя (some.user), поставщик, похоже, сможет найти пользователя.

Есть ли какие-либо настройки или что-то еще, что мы можем использовать, чтобы провайдер пропустил часть домена, отправленную из браузера?

ответ

0

Попробуйте установить atttributeMapUsername, если вы этого не сделали, и дайте мне знать, если это сработает для вас. Когда я не установил это, я должен был указать своих пользователей в формате [email protected].

Мой Web.config

<add name="MyADMembershipProvider" 
     type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" 
     attributeMapUsername="sAMAccountName" 
     enablePasswordReset="false" maxInvalidPasswordAttempts="1" passwordAttemptWindow="15" 
     passwordAnswerAttemptLockoutDuration="1" minRequiredNonalphanumericCharacters="0" attributeMapEmail="mail" 
     /> 
+0

Привет, спасибо за ответ. Мы пытаемся использовать автоматический вход в систему, браузер отправляет имя пользователя на сервер. Насколько мы собрались, IE отправит имя пользователя в формате MYDOMAIN \ my.username. Это не похоже на ActiveDirectoryMembershipProvider. По крайней мере, он не находит таких пользователей. Я попробовал параметр attributeMapUsername установить sAMAccountName, но он, похоже, не помог многим – flalar

+0

Могу ли я увидеть ваш код? Используете ли вы настройки IIS для аутентификации? Вы можете выбрать аутентификацию пользователей Windows и отключить анонимных пользователей, что мы иногда здесь делаем. При этом вы можете вытащить пользователей из переменных CGI, отформатировать их по мере необходимости и запустить через свою процедуру аутентификации. – ryan

0

В IIS, перейдите к свойствам веб-сайта и установить домен по умолчанию "\". Не знаете, какую версию IIS вы используете, если IIS сбрасывает это на вас, другим способом добиться этого является просто добавление части домена, чтобы она была добавлена ​​автоматически?

Это обычное приложение, используемое вами или компанией? Попытка понять, почему он работает с кодом, но не с приложения. Если вы написали приложение, я предполагаю, что вы можете изменить его, чтобы подражать вашему коду. Если вы не писали приложение, что это такое? Приложение (например, OWA или SharePoint) может иметь собственный способ, которым это требуется.

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