diff options
author | Simon Rettberg | 2014-03-28 17:51:24 +0100 |
---|---|---|
committer | Simon Rettberg | 2014-03-28 17:51:24 +0100 |
commit | fbbfee0a32ce83f5bfe36d78eddafed7226a041c (patch) | |
tree | f3d44e8b9e2bca678165cb3dd97ec1aa1380f244 /src/main/java/org/openslx/imagemaster/session/Authenticator.java | |
download | masterserver-fbbfee0a32ce83f5bfe36d78eddafed7226a041c.tar.gz masterserver-fbbfee0a32ce83f5bfe36d78eddafed7226a041c.tar.xz masterserver-fbbfee0a32ce83f5bfe36d78eddafed7226a041c.zip |
Initial Commit
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/session/Authenticator.java')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/session/Authenticator.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/imagemaster/session/Authenticator.java b/src/main/java/org/openslx/imagemaster/session/Authenticator.java new file mode 100644 index 0000000..f730c72 --- /dev/null +++ b/src/main/java/org/openslx/imagemaster/session/Authenticator.java @@ -0,0 +1,31 @@ +package org.openslx.imagemaster.session; + +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.imagemaster.util.Sha512Crypt; + +public class Authenticator +{ + private static Logger log = Logger.getLogger( Authenticator.class ); + + /** + * Authenticate the user against whatever backend... currently MySQL only + * @param username + * @param password + * @return + * @throws AuthenticationException + */ + public static User authenticate( String username, String password ) throws AuthenticationException + { + DbUser user = DbUser.forLogin( username ); + if ( user == null || !Sha512Crypt.verifyPassword( password, user.password ) ) { + log.debug( "Login failed: " + username ); + throw new AuthenticationException( AuthenticationError.INVALID_CREDENTIALS, "Invalid username or password!" ); + } + log.debug( "Login successful: " + username ); + return user; + } + // +} |