mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-09 23:12:06 -03:30
parent
ba369a2c2b
commit
a4f6134ba3
@ -70,6 +70,7 @@ public class KerberosUsernamePasswordAuthenticator {
|
||||
logger.debugf("Message from kerberos: %s", message);
|
||||
|
||||
checkKerberosServerAvailable(le);
|
||||
checkKerberosUsername(le);
|
||||
|
||||
// Bit cumbersome, but seems to work with tested kerberos servers
|
||||
boolean exists = (!message.contains("Client not found"));
|
||||
@ -92,6 +93,7 @@ public class KerberosUsernamePasswordAuthenticator {
|
||||
return true;
|
||||
} catch (LoginException le) {
|
||||
checkKerberosServerAvailable(le);
|
||||
checkKerberosUsername(le);
|
||||
|
||||
logger.debug("Failed to authenticate user " + username, le);
|
||||
return false;
|
||||
@ -110,6 +112,13 @@ public class KerberosUsernamePasswordAuthenticator {
|
||||
}
|
||||
}
|
||||
|
||||
protected void checkKerberosUsername(LoginException le) {
|
||||
String message = le.getMessage();
|
||||
if (message.contains("IllegalArgumentException")) {
|
||||
throw new ModelException("Kerberos illegal username", le);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if user was successfully authenticated against Kerberos
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user