diff options
author | Nils Schwabe | 2014-05-05 16:26:07 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-05-05 16:26:07 +0200 |
commit | 0048997b91e3fb4502c8c754b1c9ddd9fc8c4700 (patch) | |
tree | bd0f68131a0994e3abf571a4257dbe8acc05cc71 /src/main/java/org/openslx/imagemaster/session/Authenticator.java | |
parent | Fix login format (diff) | |
download | masterserver-0048997b91e3fb4502c8c754b1c9ddd9fc8c4700.tar.gz masterserver-0048997b91e3fb4502c8c754b1c9ddd9fc8c4700.tar.xz masterserver-0048997b91e3fb4502c8c754b1c9ddd9fc8c4700.zip |
Add user auth when ldap server is down
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/session/Authenticator.java')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/session/Authenticator.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/org/openslx/imagemaster/session/Authenticator.java b/src/main/java/org/openslx/imagemaster/session/Authenticator.java index 85f56b2..0796188 100644 --- a/src/main/java/org/openslx/imagemaster/session/Authenticator.java +++ b/src/main/java/org/openslx/imagemaster/session/Authenticator.java @@ -30,20 +30,24 @@ public class Authenticator String login = username; if (username.split( "@" ).length == 2) { + log.info( "username is in username@organization format" ); // we are in userid@organization format // --> get prefix DbSatellite satellite = DbSatellite.fromOrganization( username.split( "@" )[1] ); if (satellite == null) - throw new AuthenticationException( AuthenticationError.INVALID_CREDENTIALS, "Unkown Organization" ); + throw new AuthenticationException( AuthenticationError.INVALID_CREDENTIALS, "Unkown Organization." ); login = satellite.getPrefix() + "_" + username.split( "@" )[0]; + } else if (username.split( "_" ).length != 2) { + log.info( "username is not in a valid format." ); + throw new AuthenticationException(AuthenticationError.INVALID_CREDENTIALS, "Credentials must be in (username@organization) or (prefix@username)"); } - log.info( "Loggin in with: " + login ); + log.info( "Logging in with: " + login ); LdapUser user = LdapUser.forLogin( login, password ); // throws exception if credentials are invalid if ( user == null ) { log.debug( "Login failed: " + username ); - throw new AuthenticationException( AuthenticationError.GENERIC_ERROR, "Could not login because of a weird error." ); + throw new AuthenticationException( AuthenticationError.GENERIC_ERROR, "Something went wrong." ); } log.debug( "Login succesful: " + username ); |