summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/session/Authenticator.java
diff options
context:
space:
mode:
authorNils Schwabe2014-04-08 12:23:58 +0200
committerNils Schwabe2014-04-08 12:23:58 +0200
commitc5c204b42ef294ecaf5ff7b048d26e117ddb8c57 (patch)
treee3aa563b42e631994818ca624796a076cbe50725 /src/main/java/org/openslx/imagemaster/session/Authenticator.java
parentInitial Commit (diff)
downloadmasterserver-c5c204b42ef294ecaf5ff7b048d26e117ddb8c57.tar.gz
masterserver-c5c204b42ef294ecaf5ff7b048d26e117ddb8c57.tar.xz
masterserver-c5c204b42ef294ecaf5ff7b048d26e117ddb8c57.zip
LDAP functionallity
- added apache ldap client api to pom.xml - added the LDAP user which authenticates to the LDAP server - added testAuthentication to AppTest - users get inserted into db after authenticating - added log4j properties to filter unuseful debug messages
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/session/Authenticator.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/session/Authenticator.java24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/main/java/org/openslx/imagemaster/session/Authenticator.java b/src/main/java/org/openslx/imagemaster/session/Authenticator.java
index f730c72..d1cca94 100644
--- a/src/main/java/org/openslx/imagemaster/session/Authenticator.java
+++ b/src/main/java/org/openslx/imagemaster/session/Authenticator.java
@@ -2,16 +2,17 @@ package org.openslx.imagemaster.session;
import org.apache.log4j.Logger;
import org.openslx.imagemaster.db.DbUser;
+import org.openslx.imagemaster.db.LDAPUser;
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
+ * Authenticate the user against whatever backend
* @param username
* @param password
* @return
@@ -19,12 +20,23 @@ public class Authenticator
*/
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 );
+// 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 );
+
+ LDAPUser user = LDAPUser.forLogin( username, password ); // throws exception if credentials are invalid
+ if (user == null) {
+ log.debug( "Login failed: " + username);
throw new AuthenticationException( AuthenticationError.INVALID_CREDENTIALS, "Invalid username or password!" );
}
- log.debug( "Login successful: " + username );
+ log.debug( "Login succesful: " + username );
+
+ // if successfull: update/insert into db
+ DbUser.insertOrUpdate(user);
+
return user;
}
//