summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/session/Authenticator.java
diff options
context:
space:
mode:
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 );