AD Provider Membership.GetUser () Ursache Fehler sagen: „Der Parameter‚username‘nicht leer sein muss“
-
05-07-2019 - |
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:)
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