create or replace function authenticate_aduser( p_username in varchar2, p_password in varchar2) return boolean is l_user varchar2(256); l_ldap_server varchar2(256) := ''; l_domain varchar2(256) := ''; l_ldap_port number := 389; l_retval pls_integer; l_session dbms_ldap.session; l_cnt number; begin l_user := p_username||'@'||l_domain; l_session := dbms_ldap.init( l_ldap_server, l_ldap_port ); -- start session l_retval := dbms_ldap.simple_bind_s( l_session, l_user, p_password ); -- auth as user l_retval := dbms_ldap.unbind_s( l_session ); -- unbind return true; exception when others then l_retval := dbms_ldap.unbind_s( l_session ); return false; end; /