Frage

Mit dem ActiveDirectory- Provider, wenn ich Membershhip.GetUser() ausführen Ich erhalte eine Fehlermeldung:

  

Der Parameter 'username' darf nicht leer sein.

Hier ist die Mitgliedschaft Konfiguration:

<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> 

Ich versuche, diese Methode aus Visual Studio Unit-Test-Methode zuzugreifen. Vielen Dank für jede Hilfe:)

War es hilfreich?

Lösung

Das Problem war, dass das aktuelle Thread Haupt nicht festgelegt wurde. Hinzufügen der follwing Reihe: Thread.CurrentPrincipal = new Windows (WindowsIdentity.GetCurrent ());
die aktuelle principlal und die GetUser ist zu initialisieren () ist wieder an der Arbeit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top