Thanks Jeffrey,

The problem is not in logging a user in... the action I have is doing that just 
fine. The problem is when you try to detect if a user calling the login action 
is ALREADY logged in or not (in this case, we have guest users coming in from 
another site). 

I want to make it so if the user is already logged in, it does not log them in 
again. However, when I test the User returned in the doperform() method in my 
login action, it is always NULL. It appears that something up the chain is 
wiping the User object and the session.

--Nathan


-----Original Message-----
From: Jeffery Painter [mailto:[EMAIL PROTECTED]
Sent: Thu 1/31/2008 1:08 PM
To: Turbine Users List
Subject: RE: user is nulled out on login attempt
 

I had used Turbine to build a prototype of an electronic health record
system.

I can't remember if we were using Turbine 2.1 or 2.2 but I have my custom
login action is here:

http://office.kiasoft.com/viewcvs/viewcvs.cgi/agrippa/WebRoot/WEB-INF/src/edu/ncsu/csc/agrippa/modules/actions/AgrippaLoginUser.java?rev=1.1.1.1&content-type=text/vnd.viewcvs-markup

Maybe that will give you some insight... it worked last time I ran the
code but that was Dec 2006...

Hope it helps

-- 
Jeffery Painter
Knowledge Engineer
Semantic Technologies Group
Statistical and Quantitative Sciences
GlaxoSmithKline Research and Development


> I don't get that. The test is if the user is NOT null.
>
> Anyway, it does work. I took it from my SNA login code (our first
> Turbine project.)
>
> -----Original Message-----
> From: Shaw, Nathan (HQ-LD070)[InDyne, Inc]
> [mailto:[EMAIL PROTECTED]
> Sent: Thursday, January 31, 2008 12:17 PM
> To: Turbine Users List
> Subject: RE: user is nulled out on login attempt
>
> I don't think that will work because that will mean that the user is
> null and is not logged in at all. It will actually probably be caught by
> the SessionValidator and just take them back to the login page.
>
> I am actually checking the User object and outputting whether it is null
> or not in the login action. I tried both getUser() and
> getUserFromSession() and they are both NULL every single time a login is
> attempted. Something up the chain is clearing all of that out before the
> login occurs.
>
> --Nathan
>
>
> -----Original Message-----
> From: Altner, Bruce (HQ-LD070)[InDyne, Inc]
> [mailto:[EMAIL PROTECTED]
> Sent: Thu 1/31/2008 9:29 AM
> To: Turbine Users List
> Subject: RE: user is nulled out on login attempt
>
> How about just doing this, early in the Login action doPerform method
> (first thing?):
>
>
>         if ( data.getUserFromSession() != null )
>         {
>             return;
>         }
>
>
> Bruce
>
> -----Original Message-----
> From: Shaw, Nathan (HQ-LD070)[InDyne, Inc]
> [mailto:[EMAIL PROTECTED]
> Sent: Thursday, January 31, 2008 8:35 AM
> To: [email protected]
> Subject: user is nulled out on login attempt
>
>
> Hi all,
>
> I am writing my own login action and need to be able to check to see if
> a user is already logged in when the action is called. If they are, I
> want to skip the login stuff to preserve their session. However, every
> single time that the login action is called, the User object is coming
> back NULL.
>
> Here is a code snippet. Does anyone have any idea WHY the user is coming
> back NULL? I assume something is happening in Turbine somewhere that
> wipes the User on a login attempt or something?
>
>
> public class OutageCalLoginUser extends LoginUser  {
>
> public void doPerform( RunData data, Context context) throws Exception {
>     String uname ;
>     String passwd ;
>
>     System.out.println("doPerform(data, context)");
>     if ( data.getUserFromSession() == null ){
>       System.out.println("user from session is null");
>     }else{
>       System.out.println("user from session is NOT null");
>     }
>
>     if(data.getUser() == null){
>       System.out.println("user is null");
>     }else{
>       System.out.println("user is NOT null");
>       if(data.getUser().hasLoggedIn()){
>               System.out.println("user is logged in");
>         }else{
>               System.out.println("user is NOT logged in");
>         }
>     }
>
>
>     if((data.getUser() == null) || (data.getUser() != null &&
> data.getUser().hasLoggedIn() == false)){
>
>           try {
>             SymEncDec enc = SymEncDec.getInstance();
>
>             // Username/password = username/pswd coming through front
> door.
>             // User coming from elsewhere will have neither username
> nor pswd.
>             String username = data.getParameters().get("username");
>             String pswd = data.getParameters().get("password");
>
>             // If username exists, user came in the front door.
>             if (username != null && username.length()>0) {
>                 uname = username;
>                 passwd = pswd;
>             }else {
>                 uname = "guest";
>                 String encryptedPasswd =
> TurbineResources.getString("guest.credential");
>                 passwd = encryptedPasswd;
>                 //enc.decodeBase64Decrypt(encryptedPasswd);
>             }
>             // Log the user in
>             doLogin(data, uname, passwd);
>
>             try {
>               Utils.getUserID(data);
>             }
>             catch (NullPointerException npe) {
>               throw new TurbineSecurityException("Bad username or
> password, I say!");
>             }
>
>           }
>           catch ( TurbineSecurityException se ) {
>             badUserOrPassword(se, data);
>           }
>           catch (Exception e) {
>             throw new PortalVelocityException(e.getMessage()=ull?":
> "+e.getMessage():e.getMessage(),
>               e.getCause()=ull?e:e.getCause(), data);
>           }
>
>     }
>   }
>
> }
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>




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



Reply via email to