Я новичок в аутентификации LDAP. Я хочу, чтобы аутентифицировать пользователей с их учетными данными LDAP. Для этого я получил учетные данные приложения с сервера, чтобы я мог аутентифицировать других пользователей.LDAP-аутентификация пользователя по заявке пользователя
Мои учетные данные в качестве пользователя приложения имеют:
Test LDAP Server IP: xx.xx.xx.xx
Port: 389
Bind DN:uid=uidxx,ou=applications,dc=dcxx
password: passxx
Для аутентификации этого пользователя, я написал код, как
public String ldap()
{
String value=null;
SearchControls constraints= new SearchControls();
Hashtable<String, String> env= new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://xx.xx.xx.xx:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL,"uid=uidxx, ou=applications, dc=dcxx");
env.put(Context.SECURITY_CREDENTIALS,"passxx");
try {
DirContext ctx = new InitialDirContext(env);
value = "Done with it";
}
catch(AuthenticationException e)
{
value = "Invalid User name or password";
}
catch (NamingException e) {
e.printStackTrace();
value = "Exception occurred";
}
return value;
}
я получил возвращаемое значение, как "Done with it"
Сейчас я хотите аутентифицировать другого пользователя, чей почтовый идентификатор и пароль мне известны. Его, как я хочу, чтобы аутентифицировать других пользователей, используя их mailid, пароль, и для этого я получил uidxx и passxx для их аутентификации. Как мне это сделать?
Не получить большую помощь из других источников.
Спасибо
спасибо tomas789. У меня есть только доступ к серверу базы данных. Мои учетные данные: uidxx, passxx и приложения, как указано в вопросе. Теперь эти учетные данные предназначены для аутентификации меня, чтобы ican аутентифицировал других пользователей с их идентификатором и паролем. Я получаю успех в аутентификации меня по вышеуказанному коду. Теперь я хочу аутентифицировать других в своем приложении. Как мне это сделать? –
@Optimus Я уверен, что я ответил на это. На шаге 1, как я упоминал выше, вы связываетесь с помощью ВАШИХ учетных данных, а на шаге 3 вы связываете с использованием учетных данных USER. Если ему удалось предоставить пользователю действительные учетные данные, в противном случае он этого не сделал. Шаги 1 и 2 необходимы только для получения DN пользователя (а не вашего), если вы уже знаете это, вы можете сразу перейти к шагу 3 (это не очень часто бывает особенно, когда пользователь отправляет адрес электронной почты или имя или что-то вроде этого) – tomas789