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() { if CONFIG._enable_ldap() {
// Extract ldap username from email
let email_parts: Vec<_> = username.split("@").collect(); let email_parts: Vec<_> = username.split("@").collect();
let ldap_username = email_parts[0]; let ldap_username = email_parts[0];
let password = data.password.as_ref().unwrap(); let password = data.password.as_ref().unwrap();
let ldap = LdapConn::new(CONFIG.ldap_host().as_str())?; match LdapConn::new(CONFIG.ldap_host().as_str()) {
let bind = ldap.simple_bind(ldap_username, password); Ok(ldap) => {
let bind = ldap.simple_bind(ldap_username, password);
if bind.is_err() {
err!( if bind.is_err() {
"Username or password is incorrect. Try again", err!(
format!("IP: {}. Username: {}.", ip.ip, ldap_username) "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 { } else {
// Check password // Check password

Loading…
Cancel
Save