diff options
author | Nils Schwabe | 2014-04-08 12:23:58 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-04-08 12:23:58 +0200 |
commit | c5c204b42ef294ecaf5ff7b048d26e117ddb8c57 (patch) | |
tree | e3aa563b42e631994818ca624796a076cbe50725 /src/main/java/org/openslx/imagemaster/db/DbUser.java | |
parent | Initial Commit (diff) | |
download | masterserver-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/db/DbUser.java')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/db/DbUser.java | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/src/main/java/org/openslx/imagemaster/db/DbUser.java b/src/main/java/org/openslx/imagemaster/db/DbUser.java index f8400a9..9370f40 100644 --- a/src/main/java/org/openslx/imagemaster/db/DbUser.java +++ b/src/main/java/org/openslx/imagemaster/db/DbUser.java @@ -1,30 +1,45 @@ package org.openslx.imagemaster.db; +import org.apache.log4j.Logger; +import org.openslx.imagemaster.session.Authenticator; import org.openslx.imagemaster.session.User; - -public class DbUser extends User -{ - public DbUser(String username, String password, String organization, String firstName, String lastName, String eMail, - String satelliteAddress) - { - super( username, password, organization, firstName, lastName, eMail, satelliteAddress ); +public class DbUser extends User { + private static Logger log = Logger.getLogger( Authenticator.class ); + + public DbUser(String username, String password, String organization, + String firstName, String lastName, String eMail, + String satelliteAddress) { + super(username, password, organization, firstName, lastName, eMail, + satelliteAddress); } /** * Query database for user with given login - * @param login (user@organization) - * @return instance of DbUser for matching entry from DB, or null if not found + * + * @param login + * (user@organization) + * @return instance of DbUser for matching entry from DB, or null if not + * found */ - public static DbUser forLogin( final String login ) - { - final String[] parts = login.split( "@" ); - if ( parts.length != 2 ) + public static DbUser forLogin(final String login) { + final String[] parts = login.split("@"); + if (parts.length != 2) return null; - return MySQL.findUniqueOrNull( DbUser.class, - "SELECT user.username, user.password, user.organization, user.firstname, user.lastname, user.email, satellite.address FROM user" + - " LEFT JOIN satellite USING (organization)" + - " WHERE user.username = ? AND user.organization = ? LIMIT 1", parts[0], parts[1] ); + return MySQL + .findUniqueOrNull( + DbUser.class, + "SELECT user.username, user.password, user.organization, user.firstname, user.lastname, user.email, satellite.address FROM user" + + " LEFT JOIN satellite USING (organization)" + + " WHERE user.username = ? AND user.organization = ? LIMIT 1", + parts[0], parts[1]); + } + + public static boolean insertOrUpdate(User user) { + log.debug("Inserted user '" + user.username + "' into db."); + MySQL.update("INSERT INTO user (username, password, organization, firstname, lastname, email) VALUES (?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE password=VALUES(password), organization=VALUES(organization), firstname=VALUES(firstname), lastname=VALUES(lastname), email=VALUES(email)", + user.username, user.password, user.organization, user.firstName, user.lastName, user.eMail); + return false; } } |