summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/session/Authenticator.java
diff options
context:
space:
mode:
authorNils Schwabe2014-05-05 16:26:07 +0200
committerNils Schwabe2014-05-05 16:26:07 +0200
commit0048997b91e3fb4502c8c754b1c9ddd9fc8c4700 (patch)
treebd0f68131a0994e3abf571a4257dbe8acc05cc71 /src/main/java/org/openslx/imagemaster/session/Authenticator.java
parentFix login format (diff)
downloadmasterserver-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.java10
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 );