Ok d'Ahh que je vois.
Ainsi vous êtes auth de l'essai LDAP ici :
Entrée de DirectoryEntry = nouveau DirectoryEntry (_path, domainAndUsername, pwd) ;
Et c'est très bien, vous établissent le raccordement authentifié. Mais d'autre part vous jugez et construisez le chercheur pour des groupes comme ceci :
Recherche de DirectorySearcher = nouveau DirectorySearcher (_path) ;
Vous avez laissé tomber le raccordement authentifié et maintenant vous essayez de passer dans le _path, créant un deuxième raccordement unauthenticated, au lieu de cela un DirectoryEntry authentifié.
Dans le meilleur des cas vous stockeriez la « entrée » et emploieriez cela.
par exemple.
namespace FormsAuth
{
classe publique LdapAuthentication
{
DirectoryEntry public _entry ;
bool public IsAuthenticated (domaine de corde, username de corde, pwd de corde)
{
//Update le nouveau chemin à l'utilisateur dans l'annuaire.
_filterAttribute = résultat (de corde). Propriétés [« NC »] [0] ;
_entry = result.GetDirectoryEntry () ;
}
Alors si vous êtes authentifié vous pouvez tirer l'attribut de memberOf du DirectoryEntry plutôt que recherchant encore dans GetGroups :
// I pensent… non examiné
Ficeler [] le memberOf = _entry. Propriétés [« memberof »]
Chris