Erro Active Directory [(0x80005000)] .Net Core

5 respostas Resolvido
.netapiwebapicsharpprogramação
G

Olá, estou conseguindo validar se o usuário existe no AD por grupo do AD, quando eu rodo a minha API no Postman ele me retorna os dados que eu quero, porém, quando tento chamar essa API na minha aplicação (React.js) ele apresenta esse erro (0x80005000).
Alguém sabe me dizer o motivo desse erro, pesquisei e não consegui encontrar algo que resolva o meu problema.

A minha API controller está assim:

[HttpPost]
    [Route("verificar")]
    public bool Post([FromBody]Verify_AD_Settings settings)
    {
        bool isValid = false;
        {
            using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, settings.Domain))
            {
                {
                    isValid = pc.ValidateCredentials(settings.User, settings.Password);
                    GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, settings.Group);
                    UserPrincipal user = UserPrincipal.FindByIdentity(pc, settings.User);
                    if (user != null)
                    {
                        // check if user is member of that group
                        if (user.IsMemberOf(group))
                        {
                            isValid = true;
                        }
                        else
                        {
                            isValid = false;
                        }
                    }
                }
            }
        }
        return isValid;
    }

Meu front onde chamo minha API está assim:

logar = (e) => {
    e.preventDefault();
    const { User, Password } = this.state;
    const obj = {
      User: User.toLowerCase(),
      Password: Password,
    }
    Axios.post(url, obj)
      .then((response) => {
        this.setState({ item: response.data })
        if (this.state.item == true) {
          this.showSuccess();           
          console.log(this.state.item);
        }
      })
      .catch((error) => {
        console.log(error);
        this.showError();
      });
  }

5 Respostas

G

Aparentemente, é algum erro relacionado a permissão. Veja se isso ajuda em algo:

G

Uma coisa que eu não consegui entender é por qual motivo a minha API funciona no Postman mas não funciona na minha aplicação react, se eu válido apenas o Usuário e a Senha no AD sem um grupo, ele funciona normal, mas quando coloquei esse GroupPrincipal ele dá esse erro.

Saberia me dizer o motivo?

G
Solucao aceita

Acredito que você precise dar alguma permissão ao usuário do IIS sobre o AD, para que ele possa listar os grupos ou algo do tipo.

G

No controller, adicione um bloco try/catch ao redor dessa operação e veja se ela lança alguma exceção.

G

Boa funcionou! Mais uma vez me salvando kkk Obrigado! O meu usuário não tinha o acesso no grupo do AD e também tive que remover o settings.Domain aí ficou:

using(PrincipalContext pc = new PrincipalContext(ContextType.Domain)

Criado 24 de abril de 2020
Ultima resposta 28 de abr. de 2020
Respostas 5
Participantes 2