AD Provider Membership.GetUser () вызывает ошибку: «Параметр« имя пользователя »не должен быть пустым».

Используя поставщик ActiveDirectory, когда я выполняю, Membershhip.GetUser() я получаю сообщение об ошибке:

Параметр «имя пользователя» не должен быть пустым.

Вот конфигурация членства:

<membership defaultProvider="AspNetActiveDirectoryMembershipProvider" >
  <providers>
    <clear/>
    <add name="AspNetActiveDirectoryMembershipProvider"
         type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
         connectionStringName="ADConnectionString"
         attributeMapUsername="sAMAccountName"/>
  </providers>
</membership>
<authentication mode="Windows"/>
<authorization>
  <deny users="?"/>
  <allow users="*"/>
</authorization> 

Я пытаюсь получить доступ к этому методу из метода тестовой единицы Visual Studio. Спасибо за любую помощь :)

c#,visual-studio,unit-testing,active-directory,asp.net-membership,

0

Ответов: 1


1 принят

Проблема заключалась в том, что текущий принцип потока не задан. Добавление следующей строки: Thread.CurrentPrincipal = новый WindowsPrincipal (WindowsIdentity.GetCurrent ());
инициализирует текущий принцип, и GetUser () возвращается к работе.

C #, Visual-студия, модульное тестирование, активный каталог, asp.net-члены,
Похожие вопросы