Browse Source

Handle ldap connection errors

pull/677/head
unknown 6 years ago
parent
commit
98a6811323
  1. 21
      src/api/identity.rs

21
src/api/identity.rs

@ -90,17 +90,22 @@ fn _password_login(data: ConnectData, conn: DbConn, ip: ClientIp) -> JsonResult
};
if CONFIG._enable_ldap() {
// Extract ldap username from email
let email_parts: Vec<_> = username.split("@").collect();
let ldap_username = email_parts[0];
let password = data.password.as_ref().unwrap();
let ldap = LdapConn::new(CONFIG.ldap_host().as_str())?;
let bind = ldap.simple_bind(ldap_username, password);
if bind.is_err() {
err!(
"Username or password is incorrect. Try again",
format!("IP: {}. Username: {}.", ip.ip, ldap_username)
);
match LdapConn::new(CONFIG.ldap_host().as_str()) {
Ok(ldap) => {
let bind = ldap.simple_bind(ldap_username, password);
if bind.is_err() {
err!(
"LDAP Username or password is incorrect. Try again",
format!("IP: {}. Username: {}.", ip.ip, ldap_username)
);
}
}
Err(_) => err!("Can't connect to LDAP, check LDAP host"),
}
} else {
// Check password

Loading…
Cancel
Save