Array
(
)

Erro com C# AD VB6

Tiorac
   - 28 dez 2006

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)

#Código


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
   - 28 dez 2006

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


Tiorac
   - 28 dez 2006

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


Tiorac
   - 28 dez 2006

Já resolvir.....

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

Vlw pessoal........