The value is

action.login=com.ls.webshop.modules.actions.ExtendedLoginUser

which should point to the extended class that I'm using. Since cart saving
works if login is ok, I suppose loading of this class should work. No error
messages or such are displayed.

Lauri Svan
[EMAIL PROTECTED]

----- Original Message -----
From: "Quinton McCombs" <[EMAIL PROTECTED]>
To: "Turbine Users List" <[EMAIL PROTECTED]>
Sent: Monday, January 06, 2003 6:34 PM
Subject: RE: Storing temporary data in login


> What is the value of action.login in your TurbineResources.properties
> file?
>
> > -----Original Message-----
> > From: Lauri Svan [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, January 06, 2003 10:07 AM
> > To: [EMAIL PROTECTED]
> > Subject: Storing temporary data in login
> >
> >
> > Hi,
> >
> > I have been trying to implement a simple web shop having
> > shopping carts, e-mail confirmations and such. So far Turbine
> > has met most of the requirements. However, I have found one
> > problem that I have difficulties in overcoming.
> >
> > Majority of the pages (i.e. picking items to the shopping
> > cart bean) require no authorization. But when checking out,
> > the user should be prompted for user name and password. I
> > have implemented these by extending TurbineUser with my own
> > class. However, when logging in, the cart object stored with
> > RunData.setTemp() is lost. I tried to fix this by extending
> > the LoginAction used in authentication with my own class,
> > which stores shopping cart in a temporary variable before
> > calling super.doPerform(), and setting the cart back after
> > the authentication is complete. This works fine if the
> > authentication was ok, but somehow the cart is lost if
> > authentication failed.
> >
> > What could be the cause of this problem and how could I fix it?
> >
> >
> > The code snippet for extending the user is as follows:
> >
> >
> > package com.ls.webshop.modules.actions;
> > import org.apache.turbine.util.TurbineException;
> > import org.apache.turbine.services.resources.TurbineResources;
> >
> > import org.apache.turbine.TurbineConstants;
> > import org.apache.turbine.modules.actions.*;
> > import org.apache.turbine.util.Log;
> > import org.apache.turbine.util.RunData;
> > import org.apache.turbine.services.resources.TurbineResources;
> > import org.apache.turbine.services.security.TurbineSecurity;
> > import org.apache.turbine.om.security.User;
> > import org.apache.turbine.util.security.DataBackendException;
> > import org.apache.turbine.util.security.TurbineSecurityException;
> >
> > import com.ls.webshop.util.business.*;
> > import com.ls.webshop.om.WebshopUser;
> >
> > /**
> >  * Logins an user, with the meaning of not to clear the
> > session prior to login.
> >  * Default configurations invalidate the session prior to
> > executing doPerform.
> >  * To maintain a shopping cart in login, the login must be
> > done otherwise, and
> >  * the cart should be saved in a temporary variable prior
> > logging in.  */ public class ExtendedLoginUser extends LoginUser {
> >
> >     public void doPerform(RunData data) throws Exception {
> >   /* Fetch the shopping cart of the user, use a new one if
> > not exists */
> >   WebshopUser user = (WebshopUser) data.getUser();
> >         ShoppingCart cart = (ShoppingCart) user.getTemp("cart",
> >                                                      new
> > ShoppingCart());
> >
> >   System.err.println("Authenticate");
> >   try {
> >     /* Invalidate the current session to provide a means for
> > logging in */
> >     data.removeUserFromSession();
> >           super.doPerform(data);
> >      }
> >      catch(Exception e) {
> >    /* user = (WebshopUser) data.getUser();
> >    user.setTemp("cart", cart);
> >    throw e; */
> >   }
> >   user = (WebshopUser) data.getUser();
> >   if (user != null)
> >    user.setTemp("cart", cart);
> >   System.err.println("Setting next template");
> >
> >   /* Check whether services.webshop.navigation.redirect.key
> > parameter exists. If so, redirect there */
> >   String nextTemplate =
> >
> > data.getParameters().get(TurbineResources.getString("services.
> webshop.navigation.redirect.key"));
> >   if (nextTemplate != null)
> >    data.setScreenTemplate(nextTemplate);
> >     }
> > }
> >
> > Regards,
> >
> > Lauri Svan
> > [EMAIL PROTECTED]
> >
> >
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to