Текущее имя пользователя ActiveDirectory в ASP.NET

Я пытаюсь заставить работать как ActiveDirectory, так и стандартные формы входа, но меня останавливает одна вещь. Я не могу получить имя текущего пользователя Windows. Самое близкое, что у меня есть, это var i = WindowsIdentity.GetCurrent();, но это дает мне имя пользователя пула приложений IIS. У меня включены анонимная аутентификация, аутентификация с помощью форм и аутентификация Windows в IIS. Я могу загружать пользователей из AD, поэтому я предполагаю, что мой web.config настроен правильно.

Изменить: Это мой файл web.config (с использованием провайдера Facade):

<membership defaultProvider="HybridMembershipProvider">
      <providers>
        <clear />
        <add name="HybridMembershipProvider" type="MyApp.Data.HybridMembershipProvider" AspNetProviderName="AspNetSqlMembershipProvider" ActiveDirectoryProviderName="ADMembershipProvider" />
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MyAppConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
        <add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" 
            attributeMapUsername="sAMAccountName" enableSearchMethods="true" attributeMapEmail="mail"/>
      </providers>
    </membership>

Изменить 2: Вот моя настройка безопасности IIS.

IIS Security setup

7
задан Echilon 15 May 2012 в 08:03
поделиться