summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/db/DbUser.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/db/DbUser.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/db/DbUser.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/db/DbUser.java49
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;
}
}