0 votes

AD Provider Membership.GetUser() provoque une erreur disant : "Le paramètre 'username' ne doit pas être vide."

En utilisant le fournisseur ActiveDirectory, lorsque j'exécute la fonction Membershhip.GetUser() j'obtiens le message d'erreur suivant "Le paramètre 'username' ne doit pas être vide.".

Voici la configuration de l'adhésion :

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

J'essaie d'accéder à cette méthode à partir de la méthode de test unitaire de Visual Studio. Merci pour toute aide :)

1voto

Tamir Points 1524

Le problème était que le principal du fil actuel n'a pas été défini. Ajout de la ligne suivante : Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()) ;
est d'initialiser le principe actuel et le GetUser() est de retour au travail.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X