Ir para conteúdo

POWERED BY:

Arquivado

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

mows

[Resolvido] Login no Active Directory

Recommended Posts

Bom dia pessoal, queria fazer um form de login no Active Directory do Windows Server 2003.

Alguém tem alguma idéia de como fazer a verificação dos usuários dentro do AD via ASP?!

 

Agradeço a ajuda.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na mão...

 

<%
Function getGruposADS(strLogin)
	Dim ObjSistemaInfor, objUsuario, objGrupo, objColl
	   
	Set ObjSistemaInfor	= Server.CreateObject("ADSystemInfo")
	Set objColl		= Server.CreateObject("Scripting.Dictionary")
	Set objUsuario	= GetObject("WinNT://" & ObjSistemaInfor.DomainDNSName & "/" & strLogin & ",user")
		
		For Each objGrupo In objUsuario.Groups
		objColl.Add objColl.Count+1, objGrupo.Name
		Next
		
   	 Set getGruposADS = objColl
   	 Set objUsuario	= Nothing
   	 Set ObjSistemaInfor	= Nothing
End Function

Dim Usuario, objResultado   

Set objResultado = Server.CreateObject("Scripting.Dictionary")
	Usuario = "login_rede" 
		
		Set objResultado = getGruposADS(Usuario)
			For i = 1 To objResultado.Count
		Response.Write objResultado.Item(i) & "<br>" 
		Next
		
Set objResultado = Nothing
%>

Só lembrando que você precisa ter permissões de leitura no Active Directory!

 

at+

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu brother.

[]s

 

Aquele GetObject não seria conexão com LDAP ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia pessoal.

 

Acabei por usar o código abaixo pra autenticação no AD.

Porém ele dá erro quando o nome do usuário ou senha não conferem com o da base. Quando nome de usuário e senha estão corretos ele autentica direito.

A linha 35, descrita no erro, está em vermelho no código.

 

Erro:

erro '8007052e'

/default.asp, line 35

 

 

CODE

<form action=default.asp method=post>

Username: <input type=text name=strUserName><br>

Password: <input type=password name=strPassword><br>

<input type=submit name=btnSubmit>

</form>

<%

If Request.Form("strUsername") <> "" Then

Dim strADsPath

strADsPath = "WinNT://domain"

 

'userid =

strUserName = "utp.local\" & Request.Form("strUserName")

strPassword = Request.Form("strPassword")

 

if (not strADsPath= "") then 'if and ADS Object path has been provided

'proceed with authentication

 

' bind to the ADSI object and authenticate Username and password

Dim oADsObject

Set oADsObject = GetObject(strADsPath)

response.write "Authenticating...<br><br>"

Dim strADsNamespace

Dim oADsNamespace

strADsNamespace = left(strADsPath, instr(strADsPath, ":"))

set oADsNamespace = GetObject(strADsNamespace)

 

On error resume next

 

Set oADsObject = oADsNamespace.OpenDSObject(strADsPath, strUserName,strPassword, 0)

' we're only bound if err.number = 0

 

if not (Err.number = 0) then

Response.Write "<font color='red'><font size = 5><u><b>Authentication has failed...<b></u></font></font>"

 

Response.Redirect("pagina2.asp")

else

Session("Usuario") = strUserName

Response.Redirect("pagina.asp")

'Response.Write "Class is " & oADsObject.Class & "<br>"

Session("Auth") = "YES"

end if

'response.write "<p>"

end if

End If

%>

Agradeço a ajuda.

 

 

 

**RESOLVIDO

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.