You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2001/06/28 10:49:47 UTC
cvs commit: jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions CreateNewUserAndConfirm.java JLoginUser.java
taylor 01/06/28 01:49:46
Modified: src/java/org/apache/jetspeed/modules/actions
CreateNewUserAndConfirm.java JLoginUser.java
Log:
- modified JLoginUser.java to use Jetspeed(Turbine)Security
Revision Changes Path
1.18 +5 -15 jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/CreateNewUserAndConfirm.java
Index: CreateNewUserAndConfirm.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/CreateNewUserAndConfirm.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- CreateNewUserAndConfirm.java 2001/06/22 06:35:52 1.17
+++ CreateNewUserAndConfirm.java 2001/06/28 08:49:38 1.18
@@ -171,12 +171,12 @@
if (false == enableMail)
confirmValue = JetspeedResources.CONFIRM_VALUE;
- user.setConfirmed( confirmValue );
+ user.setConfirmed( confirmValue );
- JetspeedSecurity.addUser(user, pass1);
-
// Store the user object.
data.setUser(user);
+
+ JetspeedSecurity.addUser(user, pass1, data);
data.setMessage(Localization.getString("CREATENEWUSERANDCONFIRM_CREATE"));
if (enableMail)
@@ -242,19 +242,9 @@
data.setACL(acl);
data.save();
- if (JetspeedResources.getBoolean("services.Profiler.enable", false))
- {
- // As the user is already in the db, we better
- // send the email, no matter the error we get here
- try {
- Profiler.createUserProfile(data, username);
- } catch (Throwable t) {
- Log.error(t);
- }
- }
// bring logged on user to homepage with internal redirect
- data.setScreenTemplate(TurbineTemplate.getDefaultScreen());
- data.setMessage(TurbineResources.getString("login.welcome"));
+ //data.setScreenTemplate(TurbineTemplate.getDefaultScreen());
+ data.setScreenTemplate("Home.vm");
}
catch ( Exception e )
{
1.14 +27 -149 jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JLoginUser.java
Index: JLoginUser.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JLoginUser.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- JLoginUser.java 2001/06/07 22:00:21 1.13
+++ JLoginUser.java 2001/06/28 08:49:41 1.14
@@ -68,20 +68,15 @@
import org.apache.turbine.services.template.TurbineTemplate;
import org.apache.turbine.services.db.TurbineDB;
import org.apache.turbine.util.db.Criteria;
-import org.apache.turbine.util.db.pool.DBConnection;
-import org.apache.turbine.util.db.map.TurbineMapBuilder;
-import org.apache.turbine.om.peer.BasePeer;
import org.apache.turbine.om.security.peer.TurbineUserPeer;
import org.apache.turbine.om.security.peer.UserGroupRolePeer;
import org.apache.turbine.om.security.peer.RolePeer;
-import org.apache.turbine.om.security.TurbineUser;
+import org.apache.turbine.om.security.User;
import org.apache.turbine.util.Log;
-import com.workingdogs.village.KeyDef;
-import com.workingdogs.village.TableDataSet;
-import com.workingdogs.village.QueryDataSet;
-import com.workingdogs.village.Record;
import org.apache.jetspeed.services.resources.JetspeedResources;
import org.apache.jetspeed.services.Profiler;
+import org.apache.jetspeed.services.JetspeedSecurity;
+
/**
This class is responsible for logging a user into the system. It is also
responsible for making sure that the user has been marked as confirmed.
@@ -105,12 +100,12 @@
// we are on the ConfirmRegistration page
Log.note("Entering JLoginUser action");
- TurbineMapBuilder mapBuilder = (TurbineMapBuilder) BasePeer.getMapBuilder();
-
String secretkey = (String) data.getParameters().getString("secretkey", null);
if ( secretkey != null )
{
+ // its the first logon - we are verifying the secretkey
+
// handle the buttons on the ConfirmRegistration page
String button1 = data.getParameters().getString ( "submit1", null );
if ( button1 != null && button1.equalsIgnoreCase("Cancel") )
@@ -118,156 +113,39 @@
data.setScreenTemplate(TurbineTemplate.getDefaultScreen());
return;
}
-
- // get a connection to the db
- DBConnection db = TurbineDB.getConnection();
- Connection connection = db.getConnection();
- // execute the query
- String username = data.getParameters().getString("username", "");
- KeyDef kd = new KeyDef().addAttrib(mapBuilder.getUsername());
- TableDataSet tds = new TableDataSet( connection, TurbineUserPeer.getTableName(), kd );
- StringBuffer where = new StringBuffer();
- where.append ( mapBuilder.getUsername() );
- where.append ( "='" );
- where.append ( username );
- where.append ( "'" );
- tds.where ( where.toString() );
- TableDataSet tds2 = null;
- try
- {
- tds.fetchRecords(1);
- if ( tds.size() == 1 )
- {
- Record rec = tds.getRecord(0);
-
- // check to make sure the user entered the right confirmation key
- // if not, then send them to the ConfirmRegistration screen
- String confirm_value = rec.getValue("CONFIRM_VALUE").asString();
- if ( ! secretkey.equals ( confirm_value ) && ! confirm_value.equals ( JetspeedResources.CONFIRM_VALUE ) )
- {
- data.setMessage(Localization.getString("JLOGINUSER_KEYNOTVALID"));
- data.setScreenTemplate("ConfirmRegistration");
- return;
- }
-
- // if the user is not confirmed
- if ( ! confirm_value.equals ( JetspeedResources.CONFIRM_VALUE ) )
- {
- rec.setValue ( "CONFIRM_VALUE", JetspeedResources.CONFIRM_VALUE );
- rec.save();
-
- // Asign this user the role of authenticated_user.
- // This feature was added at 26.01.2000
- // by Bernie Hoeneisen, ETH Zurich, mailto:bhoeneis@ee.ethz.ch
- String user_id = null;
- String group_id = null;
- String role_id = null;
- user_id = rec.getValue(TurbineUserPeer.getColumnName(mapBuilder.getUserId())).asString();
-
- // FIX ME: What value is the group_id supposed to be set to???
-
- // select role_id of authenticated_user from UserRole
- kd = new KeyDef().addAttrib(mapBuilder.getRoleName());
- tds2 = new TableDataSet( connection, RolePeer.getTableName(), kd );
- tds2.where ( mapBuilder.getRoleName() + "='authenticated_user'" );
- tds2.fetchRecords(1);
- if ( tds2.size() == 1 )
- {
- role_id = tds2.getRecord(0).getValue(mapBuilder.getRoleId()).asString();
- }
- else
- {
- throw new Exception(Localization
- .getString("JLOGINUSER_NOAUTHUSERROLE"));
- }
-
- // add user_id, group_id, role_id to UserGroupRole
- Criteria crit = new Criteria();
- crit.add ( UserGroupRolePeer.getColumnName(mapBuilder.getUserId()), user_id );
- crit.add ( UserGroupRolePeer.getColumnName(mapBuilder.getGroupId()), group_id );
- crit.add ( UserGroupRolePeer.getColumnName(mapBuilder.getRoleId()), role_id );
- try
- {
- UserGroupRolePeer.doInsert(crit);
- }
- catch ( SQLException e )
- {
- // ignore. there is a possibility that this already exists.
- // because we may be re-confirming a user after the user
- // edited their email address. in that case, this code
- // has already been executed and we are set.
- }
- // End: Asign this user the role of authenticated_user.
- }
-
- String password = rec.getValue("PASSWORD_VALUE").asString();
- data.getParameters().add ( "username", username );
- data.getParameters().add ( "password", password );
- data.setMessage (Localization.getString("JLOGINUSER_WELCOME"));
- }
- else
- {
- StringBuffer msg = new StringBuffer();
- msg.append (Localization.getString("JLOGINUSER_NAMENOTVALID"));
- data.setMessage ( msg.toString() );
- data.setScreenTemplate("NewAccount");
- return;
- }
- }
- finally
+ // check to make sure the user entered the right confirmation key
+ // if not, then send them to the ConfirmRegistration screen
+ User user = data.getUser();
+ if (user == null)
+ return;
+
+ String confirm_value = user.getConfirmed();
+ if ( ! secretkey.equals ( confirm_value ) && ! confirm_value.equals ( JetspeedResources.CONFIRM_VALUE ) )
{
- if ( tds != null ) tds.close();
- if ( tds2 != null ) tds2.close();
- TurbineDB.releaseConnection(db);
+ data.setMessage(Localization.getString("JLOGINUSER_KEYNOTVALID"));
+ data.setScreenTemplate("ConfirmRegistration");
+ return;
}
+
+ user.setConfirmed( JetspeedResources.CONFIRM_VALUE );
+ JetspeedSecurity.saveUser(user);
+ data.setMessage (Localization.getString("JLOGINUSER_WELCOME"));
}
// check for valid username/password - execute Turbine LoginUser action
ActionLoader.getInstance().exec(data, "LoginUser");
// check for being confirmed before allowing someone to finish logging in
- Log.note("User hasLoggedIn1: " + data.getUser().hasLoggedIn() );
- if ( data.getUser().hasLoggedIn() )
- {
- if (JetspeedResources.getBoolean("services.Profiler.enable", false))
- {
- // As the user is already in the db, we better
- // send the email, no matter the error we get here
- try {
- String username = data.getParameters().getString("username");
- Profiler.createUserProfile(data, username);
- } catch (Throwable t) {
- Log.error(t);
- }
- }
-
- // get a connection to the db
- DBConnection db = TurbineDB.getConnection();
- Connection connection = db.getConnection();
- // execute the query
- StringBuffer sql = new StringBuffer();
- sql.append ("select "+ mapBuilder.getConfirmValue() +" from "+ mapBuilder.getTableUser());
- sql.append (" where "+ mapBuilder.getUserId() +"=" + ((TurbineUser)data.getUser()).getPrimaryKey() );
- sql.append (" and " );
- sql.append ( mapBuilder.getConfirmValue() + "='CONFIRMED'" );
- QueryDataSet qds = new QueryDataSet(connection, sql.toString() );
- try
- {
- qds.fetchRecords(1);
- if ( qds.size() == 0 )
- {
- data.setMessage(Localization.getString("JLOGINUSER_CONFIRMFIRST"));
- data.setScreenTemplate("ConfirmRegistration");
- data.getUser().setHasLoggedIn(new Boolean (false) );
- return;
- }
- }
- finally
+ if ( data.getUser().hasLoggedIn())
+ {
+ if (!data.getUser().getConfirmed().equals(JetspeedResources.CONFIRM_VALUE ))
{
- if ( qds != null ) qds.close();
- TurbineDB.releaseConnection(db);
+ data.setMessage(Localization.getString("JLOGINUSER_CONFIRMFIRST"));
+ data.setScreenTemplate("ConfirmRegistration");
+ data.getUser().setHasLoggedIn(new Boolean (false) );
+ return;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org