diff options
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/session/Authenticator.java')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/session/Authenticator.java | 9 |
1 files changed, 6 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 91f3127..ea7e581 100644 --- a/src/main/java/org/openslx/imagemaster/session/Authenticator.java +++ b/src/main/java/org/openslx/imagemaster/session/Authenticator.java @@ -4,7 +4,9 @@ import java.sql.SQLException; import org.apache.log4j.Logger; import org.openslx.bwlp.thrift.iface.AuthorizationError; +import org.openslx.bwlp.thrift.iface.InvocationError; import org.openslx.bwlp.thrift.iface.TAuthorizationException; +import org.openslx.bwlp.thrift.iface.TInvocationException; import org.openslx.bwlp.thrift.iface.UserInfo; import org.openslx.imagemaster.db.mappers.DbUser; import org.openslx.imagemaster.db.models.LocalUser; @@ -23,9 +25,10 @@ public class Authenticator * @param username * @param password * @return + * @throws TInvocationException * @throws TAuthenticationException */ - public static UserInfo authenticate( String username, String password ) throws TAuthorizationException + public static UserInfo authenticate( String username, String password ) throws TAuthorizationException, TInvocationException { String login = username; @@ -35,11 +38,11 @@ public class Authenticator try { user = DbUser.forLogin( login, password ); } catch ( SQLException e ) { - user = null; + throw new TInvocationException( InvocationError.INTERNAL_SERVER_ERROR, "Could not connect to database" ); } // throws exception if credentials are invalid if ( user == null ) { log.debug( "Login failed: " + username ); - throw new TAuthorizationException( AuthorizationError.GENERIC_ERROR, "Something went wrong." ); + throw new TAuthorizationException( AuthorizationError.INVALID_CREDENTIALS, "Invalid Username or password" ); } log.debug( "Login succesful: " + username ); |