Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

scorpio

[Resolvido] DLL .Net + ASP + W2K

Recommended Posts

O outro tópico não tem nada.....

 

Salve galeraaaaa!!!!

 

 

Seguinte..

 

Tenho uma dll feita em .Net (que antes era em VB6) que roda em um sistema em ASP, mas quando foi migrar a DLL começou a dar os problemas. Ela não roda no ASP! Só no ASP ela não roda!

ASP .Net rodou, VB6 rodou, mas no ASP não... da erro.

"The authentication mechanism is unknown"

Já registrei pelo REGASM, coloquei na pasta assembly. Fiz tudo... mas nao vai.

 

A DLL faz verificações no active directory do windows.

A linha em que da erro da DLL é a FindOne()

Dim deCamActDir As New DirectoryEntry("LDAP://" & "xxxxxxxxxxx", sUserName, sPassword, AuthenticationTypes.Secure)
'==================================================================
Dim dsSrh As New DirectorySearcher(deCamActDir)
Dim objResult As SearchResult = dsSrh.FindOne()

Como disse a mesma DLL rodou no VB6, ASP .Net no IIS5.

Se alguém souber alguma coisa...

 

Valeu!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em ASP não se usam DLL's dessa forma. Elas devem ser registradas no servidor e são usadas "setando" os objetos com SET e não com DIM.

SET objeto = Server.CreateObject("seuObjetoDaDLL")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ali é a parte da DLL(que está em .Net) http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Mas está desse mesmo jeito que você mostrou Salgado.

Set objJJEDS = Server.CreateObject("JedsCom.clJedsCom")

 

E a chamada da função.

boolRet = objJJEDS.AuthenticateUser(cstr(sDomain),cstr(sUserName),cstr(sPassword))

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A DLL está registrada no servidor? tente usar o regsvr32.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, está.

Só que pelo regsvr32 ela não registra. Para poder registrar tem que usar uma ferramenta que vem com o .Net framework, REGASM.

 

Ele chega a criar o objeto da DLL, executa o método mas da erro dentro da DLL, erro que não acontece no IIS7, no VB6(no mesmo computador) nem no VS .Net(também no mesmo computador).

 

Será que pode ser alguma coisa com o IIS?

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se funciona em tudo, menos no IIS6, talvez possa ser algum tipo de permissão para acessar o AD. Essa mensagem de erro deve está sendo retornada pelo próprio AD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae galera!

Conseguimos resolver aqui.

 

A solução foi colocar o domínio na frente do nome do usuario.

 

Por exemplo:

Dim deCamActDir As New DirectoryEntry("LDAP://" & "xxxxxxxxxxx", "DOMINIO\usuario", "senha", AuthenticationTypes.Secure)

Não é tanto um erro de ASP, mas está ai pra quem precisar.

 

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom scorpio.

 

Na verdade a forma correta de acessar o usuário é informando dominio\usuario. Quando você acessa só o usuário, normalmente o domínio já está "oculto" pelo SO. O próprio XP funciona hora sim, hora não quando é informado somente o usuário. Mas sempre funciona quando informado o dominio\usuario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.