From 3aa85cd588b745fb2537dbe748580d9c3b980133 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 8 Sep 2015 17:38:07 +0200 Subject: Compilable... --- .../openslx/imagemaster/session/Authenticator.java | 41 +++++++++------------- 1 file changed, 17 insertions(+), 24 deletions(-) (limited to 'src/main/java/org/openslx/imagemaster/session/Authenticator.java') diff --git a/src/main/java/org/openslx/imagemaster/session/Authenticator.java b/src/main/java/org/openslx/imagemaster/session/Authenticator.java index 19891b9..91f3127 100644 --- a/src/main/java/org/openslx/imagemaster/session/Authenticator.java +++ b/src/main/java/org/openslx/imagemaster/session/Authenticator.java @@ -1,9 +1,13 @@ package org.openslx.imagemaster.session; +import java.sql.SQLException; + import org.apache.log4j.Logger; -import org.openslx.imagemaster.db.DbUser; -import org.openslx.imagemaster.thrift.iface.AuthenticationError; -import org.openslx.imagemaster.thrift.iface.AuthenticationException; +import org.openslx.bwlp.thrift.iface.AuthorizationError; +import org.openslx.bwlp.thrift.iface.TAuthorizationException; +import org.openslx.bwlp.thrift.iface.UserInfo; +import org.openslx.imagemaster.db.mappers.DbUser; +import org.openslx.imagemaster.db.models.LocalUser; /** * Authenticates a user against a backend (ldap here) @@ -19,38 +23,27 @@ public class Authenticator * @param username * @param password * @return - * @throws AuthenticationException + * @throws TAuthenticationException */ - public static User authenticate( String username, String password ) throws AuthenticationException + public static UserInfo authenticate( String username, String password ) throws TAuthorizationException { String login = username; - /* - if ( username.split( "@" ).length == 2 ) { - log.info( "username is in username@organization format" ); - // we are in username@organization format - DbSatellite satellite = DbSatellite.fromOrganization( username.split( "@" )[1] ); - if ( satellite == null ) - 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( "Logging in with: " + login ); - User user = DbUser.forLogin( login, password ); // throws exception if credentials are invalid + LocalUser user; + try { + user = DbUser.forLogin( login, password ); + } catch ( SQLException e ) { + user = null; + } // throws exception if credentials are invalid if ( user == null ) { log.debug( "Login failed: " + username ); - throw new AuthenticationException( AuthenticationError.GENERIC_ERROR, "Something went wrong." ); + throw new TAuthorizationException( AuthorizationError.GENERIC_ERROR, "Something went wrong." ); } log.debug( "Login succesful: " + username ); - // if successfull: update/insert into db - DbUser.insertOrUpdate( user ); - - return user; + return user.toUserInfo(); } // } -- cgit v1.2.3-55-g7522