Per gli amanti dell'asp classic, ho qui uno script che consente di fare la login tramite ldap active directory.
Grazie a questo semplice script infatti, sarà possibile verificare l'accesso su un database ldap, passandogli username (l'utente di rete dell'active directory ad esempio) e password.
Ecco quindi il codice asp con la funzione da utilizzare nelle vostre pagine web:
<%
function loginldap(username,password,dominio)
loginldap=False
query="SELECT cn FROM 'LDAP://"&dominio&"' WHERE objectClass='*'"
set conn=server.CreateObject("ADODB.Connection")
conn.Provider="ADsDSOOBJECT"
conn.properties("User ID")=username
conn.properties("Password")=password
conn.properties("Encrypt Password")=true
conn.open "DS Query",username,password
set cmd=server.CreateObject("ADODB.Command")
set cmd.ActiveConnection=conn
cmd.CommandText=query
on error resume next
set rs=cmd.Execute
if rs.bof or rs.eof then
loginldap=False
else
loginldap=True
end if
set rs=nothing
set conn=nothing
on error goto 0
end function
%>
Per far funzionare il tutto, basterà creare una form di login che passerà username e password alla funzione, richiamandola ad esempio in questo modo:
response.write loginldap(utente-di-rete,password,indirizzo-ip-server)
La funzione loginldap restituirà TRUE in caso la userid e la password siano corrette, o FALSE in tutti gli altri casi (anche nel caso in cui il server non sia raggiungibile).
Potrete quindi intercettare il risultato e gestire di conseguenza la pagina web, magari salvando in una sessione l'avvenuta autenticazione ldap tramite pagina asp.
Attenzione: tra i vari problemi che si potrebbero riscontrare con questa asp ldap connection, ci potrebbe anche essere l'errore "Server not Operational".
A me è capitato su un server in cui un firewall bloccava la chiamata, ma potrebbe anche essere un errore di cattiva risoluzione del netbios, o di cattiva risoluzione del dns.
martedì 15 novembre 2016
Login LDAP Active directory con ASP Classic
Pubblicato da Oggi è un altro post
martedì 15 novembre 2016 - 14:31
Iscriviti a:
Commenti sul post (Atom)
Piaciuto l'articolo? Lascia un commento!
EmoticonEmoticon