[jboss-svn-commits] JBL Code SVN: r18694 - labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 5 06:17:26 EST 2008
Author: adamw
Date: 2008-03-05 06:17:26 -0500 (Wed, 05 Mar 2008)
New Revision: 18694
Removed:
labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/NukesConnector.java
labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/UserInfo.java
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/LabsLoginModule.java
Log:
Bringing back login
Modified: labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/LabsLoginModule.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/LabsLoginModule.java 2008-03-05 11:08:00 UTC (rev 18693)
+++ labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/LabsLoginModule.java 2008-03-05 11:17:26 UTC (rev 18694)
@@ -23,6 +23,9 @@
import java.security.Principal;
import java.security.acl.Group;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -34,6 +37,7 @@
import javax.security.auth.Subject;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.login.LoginException;
+import javax.sql.DataSource;
import javax.transaction.TransactionManager;
import org.jboss.forge.common.ForgeHelper;
@@ -59,7 +63,6 @@
*
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
*/
public class LabsLoginModule extends UsernamePasswordLoginModule {
@@ -69,6 +72,8 @@
protected String havingRole;
+ protected String jbossDB;
+
private static final String PASS_TOKEN = "AutoLoginToken.";
private static final String TOKENIZER = "<!AutoLoginTokenizer!>";
@@ -80,8 +85,6 @@
private UserProfileModule userProfileModule;
private MembershipModule membershipModule;
- private NukesConnector nukesConnector;
-
public void initialize(Subject subject, CallbackHandler callbackHandler,
Map sharedState, Map options) {
super.initialize(subject, callbackHandler, sharedState, options);
@@ -90,7 +93,7 @@
userModuleJNDIName = (String) options.get("userModuleJNDIName");
additionalRole = (String) options.get("additionalRole");
havingRole = (String) options.get("havingRole");
- String jbossDB = (String) options.get("jbossdb");
+ jbossDB = (String) options.get("jbossdb");
try {
userModule = (UserModule) new InitialContext().lookup("java:portal/UserModule");
@@ -106,8 +109,6 @@
log.trace("additionalRole = " + additionalRole);
log.trace("havingRole = " + havingRole);
log.trace("jbossdb = " + jbossDB);
-
- nukesConnector = new NukesConnector(jbossDB);
}
protected boolean validatePassword(String inputPassword,
@@ -204,22 +205,37 @@
}
private String checkIfPasswordChanged(User user) throws LoginException {
- String password;
+ String password = null;
- if (!"admin".equals(getUsername())) {
+ if (!getUsername().equals("admin")) {
/*
* check if password in the main db changed (not for admin account)
*/
try {
- password = nukesConnector.checkIfUserPasswordChanged(getUsername());
+ DataSource ds = (DataSource) new InitialContext()
+ .lookup(jbossDB);
- if (!user.validatePassword(password)) {
- /*
- * User user = userModule
- * .findUserByUserName(getUsername());
- */
- user.updatePassword(password);
+ Connection conn = ds.getConnection();
+
+ Statement st = conn.createStatement();
+
+ String sql = "SELECT * FROM nuke_users WHERE pn_uname='"
+ + getUsername() + "';";
+
+ ResultSet rs = st.executeQuery(sql);
+
+ if (rs.next()) {
+ if (!user.validatePassword(rs.getString("pn_pass"))) {
+ /*
+ * User user = userModule
+ * .findUserByUserName(getUsername());
+ */
+ user.updatePassword(rs.getString("pn_pass"));
+ }
+ password = rs.getString("pn_pass");
}
+
+ conn.close();
} catch (Exception e) {
log.error("Couldn't connect to nukes database", e);
throw new LoginException(e.toString());
@@ -244,39 +260,61 @@
* and user
*/
- try {
- // System.out.println("Taking pass for user " +
- // getUsername());
+ DataSource ds = (DataSource) new InitialContext().lookup(jbossDB);
- UserInfo userInfo = nukesConnector.lookForNewUser(log, getUsername());
+ Connection conn = ds.getConnection();
- if (userInfo == null) {
- return null;
- }
+ Statement st = conn.createStatement();
- User user = userModule.createUser(getUsername(), userInfo.getPass());
- userProfileModule.setProperty(user, User.INFO_USER_EMAIL_REAL, userInfo.getEmail());
- userProfileModule.setProperty(user, User.INFO_USER_EMAIL_FAKE, userInfo.getFemail());
- userProfileModule.setProperty(user, User.INFO_USER_NAME_GIVEN, userInfo.getFname());
- userProfileModule.setProperty(user, User.INFO_USER_NAME_FAMILY, userInfo.getLname());
- userProfileModule.setProperty(user, User.INFO_USER_ENABLED, true);
+ log.debug("Looking for the user " + getUsername()
+ + " in the JBoss Database");
- log.info("User " + getUsername() + " added to Labs Database.");
+ String sql = "SELECT * FROM nuke_users WHERE pn_uname='"
+ + getUsername() + "';";
- // Add the user to the default
- // user role
- String defaultRole = "User";// getPortletConfig().getInitParameter(UserPortletConstants.DEFAULT_ROLE);
- if (defaultRole != null) {
- Set roleSet = new HashSet();
- Role role = roleModule.findRoleByName(defaultRole);
- if (role != null) {
- roleSet.add(role);
- membershipModule.assignRoles(user, roleSet);
+ ResultSet rs = st.executeQuery(sql);
+
+ User user = null;
+
+ if (rs.next()) {
+ log.debug("User " + getUsername()
+ + " found in the JBoss Database.");
+ try {
+ // System.out.println("Taking pass for user " +
+ // getUsername());
+
+ user = userModule.createUser(getUsername(), rs
+ .getString("pn_pass"));
+ userProfileModule.setProperty(user, User.INFO_USER_EMAIL_REAL, rs.getString("pn_email"));
+ userProfileModule.setProperty(user, User.INFO_USER_EMAIL_FAKE, rs.getString("pn_femail"));
+ userProfileModule.setProperty(user, User.INFO_USER_NAME_GIVEN, rs.getString("pn_fname"));
+ userProfileModule.setProperty(user, User.INFO_USER_NAME_FAMILY, rs.getString("pn_lname"));
+ userProfileModule.setProperty(user, User.INFO_USER_ENABLED, true);
+
+ log.info("User " + getUsername()
+ + " added to Labs Database.");
+
+ // Add the user to the default
+ // user role
+ String defaultRole = "User";// getPortletConfig().getInitParameter(UserPortletConstants.DEFAULT_ROLE);
+ if (defaultRole != null) {
+ Set roleSet = new HashSet();
+ Role role = roleModule.findRoleByName(defaultRole);
+ if (role != null) {
+ roleSet.add(role);
+ membershipModule.assignRoles(user, roleSet);
+ } else {
+ log
+ .error("The role you specified as default role does not exist, check your portlet configuration");
+ }
} else {
- log.error("The role you specified as default role does not exist, check your portlet configuration");
+ log
+ .info("You didn't specify a default role in the portlet init configuration, please refer to the documentation");
}
- } else {
- log.info("You didn't specify a default role in the portlet init configuration, please refer to the documentation");
+ } catch (IllegalArgumentException e) {
+ log.error("Cannot create user " + getUsername(), e);
+
+ throw new LoginException(e.toString());
}
if (user != null
@@ -286,15 +324,16 @@
* User has been just created and it's only in the defaule
* role.
*/
- password = userInfo.getPass();
+ password = rs.getString("pn_pass");
} else {
return null;
}
- } catch (IllegalArgumentException e) {
- log.error("Cannot create user " + getUsername(), e);
- throw new LoginException(e.toString());
+ } else {
+ log.info("User " + getUsername()
+ + " couldn't been found in the JBoss Database.");
}
+ conn.close();
} catch (Exception e) {
log.error("Couldn't connect to nukes database", e);
throw new LoginException(e.toString());
Deleted: labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/NukesConnector.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/NukesConnector.java 2008-03-05 11:08:00 UTC (rev 18693)
+++ labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/NukesConnector.java 2008-03-05 11:17:26 UTC (rev 18694)
@@ -1,102 +0,0 @@
-package org.jboss.labs.login;
-
-import org.jboss.logging.Logger;
-import org.jboss.portal.common.transaction.Transactions;
-
-import javax.sql.DataSource;
-import javax.naming.InitialContext;
-import javax.transaction.TransactionManager;
-import java.sql.Connection;
-import java.sql.Statement;
-import java.sql.ResultSet;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
-public class NukesConnector {
- private String jbossDB;
-
- public NukesConnector(String jbossDB) {
- this.jbossDB = jbossDB;
- }
-
- public String checkIfUserPasswordChanged(final String username) throws Exception {
- final TransactionManager tm = (TransactionManager) new InitialContext()
- .lookup("java:/TransactionManager");
-
- return (String) Transactions.requiresNew(tm,
- new Transactions.Runnable() {
- public Object run() throws Exception {
- return checkIfUserPasswordChangedInternal(username);
- }
- });
- }
-
- public UserInfo lookForNewUser(final Logger log, final String username) throws Exception {
- final TransactionManager tm = (TransactionManager) new InitialContext()
- .lookup("java:/TransactionManager");
-
- return (UserInfo) Transactions.requiresNew(tm,
- new Transactions.Runnable() {
- public Object run() throws Exception {
- return lookForNewUserInternal(log, username);
- }
- });
- }
-
- public String checkIfUserPasswordChangedInternal(String username) throws Exception {
- DataSource ds = (DataSource) new InitialContext()
- .lookup(jbossDB);
-
- Connection conn = ds.getConnection();
-
- Statement st = conn.createStatement();
-
- String sql = "SELECT * FROM nuke_users WHERE pn_uname='"
- + username + "';";
-
- ResultSet rs = st.executeQuery(sql);
-
- String password = null;
- if (rs.next()) {
- password = rs.getString("pn_pass");
- }
-
- conn.close();
-
- return password;
- }
-
- public UserInfo lookForNewUserInternal(Logger log, String username) throws Exception {
- DataSource ds = (DataSource) new InitialContext().lookup(jbossDB);
-
- Connection conn = ds.getConnection();
-
- Statement st = conn.createStatement();
-
- log.debug("Looking for the user " + username
- + " in the JBoss Database");
-
- String sql = "SELECT * FROM nuke_users WHERE pn_uname='"
- + username + "';";
-
- ResultSet rs = st.executeQuery(sql);
-
- UserInfo userInfo = null;
- if (rs.next()) {
- log.debug("User " + username + " found in the JBoss Database.");
- // System.out.println("Taking pass for user " +
- // getUsername());
-
- userInfo = new UserInfo(rs.getString("pn_pass"), rs.getString("pn_email"),
- rs.getString("pn_femail"), rs.getString("pn_fname"), rs.getString("pn_lname"));
-
- } else {
- log.info("User " + username
- + " couldn't been found in the JBoss Database.");
- }
- conn.close();
-
- return userInfo;
- }
-}
Deleted: labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/UserInfo.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/UserInfo.java 2008-03-05 11:08:00 UTC (rev 18693)
+++ labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/UserInfo.java 2008-03-05 11:17:26 UTC (rev 18694)
@@ -1,40 +0,0 @@
-package org.jboss.labs.login;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
-public class UserInfo {
- private String pass;
- private String email;
- private String femail;
- private String fname;
- private String lname;
-
- public UserInfo(String pass, String email, String femail, String fname, String lname) {
- this.pass = pass;
- this.email = email;
- this.femail = femail;
- this.fname = fname;
- this.lname = lname;
- }
-
- public String getPass() {
- return pass;
- }
-
- public String getEmail() {
- return email;
- }
-
- public String getFemail() {
- return femail;
- }
-
- public String getFname() {
- return fname;
- }
-
- public String getLname() {
- return lname;
- }
-}
More information about the jboss-svn-commits
mailing list