Re: JIT Login (WPO) and DirectAction component
Re: JIT Login (WPO) and DirectAction component
- Subject: Re: JIT Login (WPO) and DirectAction component
- From: Chuck Hill <email@hidden>
- Date: Tue, 5 Apr 2005 10:24:56 -0700
On Apr 5, 2005, at 10:04 AM, Erwin wrote:
Le Apr 5, 2005, à 6:19 PM, Chuck Hill a écrit :
On Apr 5, 2005, at 1:20 AM, Erwin wrote:
A little bit different from what I read in WPO, I implemented my
JITLoginPage as a stateless page
I check the login and the password in this page (row fetched) ,
then I refetch the user object from the Session
defaultEditingContext,
AbstractUser authenticatedUser = (AbstractUser)
EOUtilities.objectMatchingKeyAndValue(session().defaultEditingContext
(), "AbstractUser", "login", userLogin);
then I create the session
session().takeValueForKey(authenticatedUser,
"authenticatedUser");
It's there (I can print it)....
Try printing the session ID too.
JITLogin - Session ID : Bv5pA4ujtTrvyIaYHujGgM
I use :
JITLoginPage loginPage = (JITLoginPage)pageWithName("JITLoginPage");
loginPage.setDestinationUrl(java.net.URLDecoder.decode(destinationUrl,
"UTF-8"));
destinationUrl is the URL for after login? But it won't have the
sessionID on it, or the instance number. IIRC, you need to be storing
the session ID and instance number in cookies for this to work. Are
you setting this in your session constructor? Otherwise you will need
to append them to the URL manually.
Chuck
My destinationUrl is right (as stated in WPO), and after the
identification process the transfer is done to the destination page
(ArchivePage, also stateless component) where I put :
How do you do the transfer? It sounds like you are doing a redirect
and the session ID is missing from the URL/cookie.
yes... I do (using WPO) Redirect.... is the sessionID missing from
the destinationUrl ?
in secureLoginUrl , I use :
encodedUrl = java.net.URLEncoder.encode(aContext.request().uri()
NSDictionary destination = new NSDictionary(encodedUrl,
DirectAction.DESTINATION_URL);
String loginActionUrl = "https://" +
WORequestAdditions.hostName(aContext.request()) +
aContext.directActionURLForActionNamed("loginJIT", destination);
public void appendToResponse(WOResponse response, WOContext
context){
Try printing the session ID here too, I'll bet it is different.
Archive - Session ID : u55CGJQQFnrSOyJbL8X430 (that's why it cannot
find the authenticated user...)
how the Archive Page can use the same sessionID as the JITLoginPage ??
--
Practical WebObjects - a book for intermediate WebObjects developers
who want to increase their overall knowledge of WebObjects, or those
who are trying to solve specific application development problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden