The JavaScript code to do this is as follows:
var TOO_MANY_MATCHES = 100; var CORRECT = "Y"; var INCORRECT = "N"; var userDN = ""; function doLogin() { // Create an instance of the LDAPGetEntries Bean var getter = new netscape.ldap.beans.LDAPGetEntries(); getter.setDebug( true ); // Get parameters from form fields getter.setHost( document.input.host.value ); getter.setPort( parseInt(document.input.port.value) ); getter.setBase( document.input.base.value ); getter.setFilter( "uid="+document.input.userid.value ); // Must request rights to do network connections netscape.security.PrivilegeManager.enablePrivilege("UniversalConnect"); // And for property reads, to get LDAP error strings netscape.security.PrivilegeManager.enablePrivilege("UniversalPropertyRead"); // Do the search values = getter.getEntries(); var result; // No matching entries? if ( (values == null) || (values.length < 1) ) { result = getter.getErrorCode(); if ( result == 0 ) { result = getter.NO_SUCH_OBJECT; } // Too many matching entries? } else if ( values.length > 1 ) { result = TOO_MANY_MATCHES; // Good - just one match } else { userDN = values[0]; auth = new Packages.netscape.ldap.beans.LDAPSimpleAuth(); auth.setHost( document.input.host.value ); auth.setPort( parseInt(document.input.port.value) ); auth.setAuthDN( userDN ); auth.setAuthPassword( document.input.password.value ); result = auth.authenticate(); } showResult( result ); }