Aprovação que de Ahh eu ver.
Assim você é auth do teste LDAP aqui:
Entrada de DirectoryEntry = DirectoryEntry novo (_path, domainAndUsername, pwd);
E isso é muito bem, você estabelece a conexão autenticada. Mas por outro lado você tenta e constrói o pesquisador para grupos como este:
Busca de DirectorySearcher = DirectorySearcher novo (_path);
Você deixou cair a conexão autenticada e agora você está tentando passar no _path, criando uma segunda conexão unauthenticated, em lugar de um DirectoryEntry autenticado.
Idealmente você armazenaria a “entrada” e usaria aquele.
por exemplo.
namespace FormsAuth
{
classe pública LdapAuthentication
{
DirectoryEntry público _entry;
bool público IsAuthenticated (domínio da corda, username da corda, pwd da corda)
{
//Update o trajeto novo ao usuário no diretório.
_filterAttribute = resultado (da corda). Propriedades [“NC”] [0];
_entry = result.GetDirectoryEntry ();
}
Então se você é autenticado você pode puxar o atributo do memberOf do DirectoryEntry um pouco do que procurarando outra vez em GetGroups:
// I pensa… não testado
Amarrar [] o memberOf = _entry. Propriedades [“memberof”]
Chris