Erro com C# AD VB6

28/12/2006

0

Ola pessoal eu sou novo aqui, e me cadastrei porque tenho um problema dos grandes, para começar eu fiz uma DLL que conversa com o Active Directory via LDAP, troca os atributos do usuário do AD, entre outras coisas. Criei um programinha para testá-lo, e funcionaram 100¬. Tudo isso com C e VS2005.
O problema foi que descobrir que teria que usar essa DLL em um componente feito em VB6 (Que não posso passar para .NET) que é utilizado por uma página ASP, ou seja, um usuário abre uma página ASP, que cria um objeto com referência a um componente COM+ feito no VB6, que faz uma referência a minha DLL feita em C.
Depois de um pouco de pesquisa, descobrir como fazer essa referência entre VB6 e .NET (ainda não sou muito experiente). Algumas funções funcionaram direitinho, mas tem uma que deu erro. Quando ele tenta encontrar um usuário no AD, ele retorna o ERRO: “O mecanismo de autenticação é desconhecido.” Com o número: -2147016662. Abaixo passo a função que dá erro (na minha DLL)

private static DirectoryEntry GetUser(string UserName)
{
         gravarLog.GravaLog("Iniciando Função", "GetUser");
         DirectoryEntry de = Utility.GetDirectoryObject();
         DirectorySearcher deSearch = new DirectorySearcher();
         deSearch.SearchRoot = de;
         deSearch.Filter = "(&(objectClass=user)(CN=" + UserName + "))";
         deSearch.SearchScope = SearchScope.Subtree;
   SearchResult results = deSearch.FindOne();//Linha que dá erro.
         if (!(results == null))
          {
              de = new DirectoryEntry(results.Path, Utility.ADUser, Utility.ADPassword, AuthenticationTypes.Secure);
              return de;
          }
          else
          {
              return null;
          }
}


A linha comentada com “Linha que dá erro”, é a linha que dá o erro que falei. Como vocês podem ver não é um erro simples (pelo menos eu acho), vou fazer uns testes aqui, qualquer coisa eu posto, mas se vocês tiverem alguma idéia, qualquer idéia já ajuda... Muito obrigado, agradeço desde já.


Tiorac

Tiorac

Responder

Posts

28/12/2006

Tiorac

Pessoal, fiz um teste aqui:

Criei um aplicativo no VB6 e fiz referência para essa DLL, e funcionou, está exatamente como estava no outro, mas não é chamado pelo IIS... Então deve ser alguma configuração do IIS ou algo por ai, se alguem puder me ajudar, tiver uma idéia eu agradeço.........
Vlw.....


Responder

28/12/2006

Tiorac

Esqueci de falar que ASP normal...
E a autenticação é integrada com Windows.


Responder

28/12/2006

Tiorac

Já resolvir.....

Adicionei todas as DLLs no mesmo aplicativo COM+ e funcionou...

Vlw pessoal........


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar