My only other piece of general advice is to override dispatchRequest in 
Application and log out request.uri() and request.formValues().



On Sep 19, 2010, at 11:26 PM, Mark Wardle wrote:

> Thanks for this. I'll try with L,PT and see whether that works.
> 
> Mark
> 
> -- 
> Dr. Mark Wardle
> Specialist registrar, Neurology
> (Sent from my mobile)
> 
> 
> On 15 Sep 2010, at 23:00, Chuck Hill <[email protected]> wrote:
> 
>> 
>> On Sep 15, 2010, at 2:17 PM, Mark Wardle wrote:
>> 
>>> Hi Chuck - Thank you for these questions - they were enough for me to start 
>>> properly debugging this myself.
>>> 
>>> Interestingly, to aid debugging, I removed four of the five application 
>>> instances and bizarrely found that it seemed to be working perfectly. (It 
>>> also works perfectly if I go to cvx-neuro01:2001/ for example)
>>> 
>>> As soon as I add an additional instance I start to get login problems. The 
>>> redirect to the login page is handled perfectly, but the redirect to the 
>>> original URL fails. Here is an example with two application instances.
>>> 
>>> http://cvx-neuro01/
>>> 
>>> is redirected by apache to
>>> 
>>> http://cvx-neuro01/cgi-bin/WebObjects/RSNews.woa/wa/login?destinationUrl=%252Fcgi-bin%252FWebObjects%252FRSNews.woa%252F2
>> 
>> Redirected may not be what you want.  Last, Pass Through may work better?  
>> Not sure, but maybe worth a try.
>> 
>>> RewriteEngine on
>>> RewriteRule ^/$ /cgi-bin/WebObjects/RSNews.woa/ [L,PT]
>> 
>> 
>>> [note the extra /2 at the end there]
>> 
>> You need that at some point.  The instance where the login is processed has 
>> to be the same instance redirected to after login.
>> 
>> 
>>> I get the login page... try to login in...  get this
>>> 
>>> http://cvx-neuro01/cgi-bin/WebObjects/RSNews.woa/2/wa/login?destinationUrl=%252Fcgi-bin%252FWebObjects%252FRSNews.woa%252F2
>>> 
>>> login works...
>> 
>> I am not sure I understand.  After the login, it shows the login again and 
>> logging in a second time works?
>> 
>> 
>>> It seems to be an issue crossing over between application instances.
>> 
>> Yes, it is.
>> 
>> 
>>> See below for additional comments.
>> 
>> And again.
>> 
>> 
>>> On 15 September 2010 04:03, Chuck Hill <[email protected]> wrote:
>>> On Sep 14, 2010, at 1:45 PM, Mark Wardle wrote:
>> 
>> <snip>
>> 
>>>> The loginAction() eventually calls this method to redirect back to the 
>>>> original requesting page:
>>>>     /**
>>>>      * Creates a redirect that will redirect to the requested landing page 
>>>> (destination url).
>>>>      * TODO: Do we really need to add wosid here?
>>>>      * @param session
>>>>      * @param destinationUrl
>>>>      * @return
>>>>      * @throws UnsupportedEncodingException
>>>>      */
>>>>     private WOComponent redirectToDestinationUrl(Session session, String 
>>>> destinationUrl) throws UnsupportedEncodingException {
>>>>             String decodedUrl = java.net.URLDecoder.decode(destinationUrl, 
>>>> "UTF-8");
>>>>             if (session.storesIDsInURLs()==true) {
>>>>                     decodedUrl = 
>>>> ERXWOContext.stripSessionIDFromURL(decodedUrl);            // remove 
>>>> existing wosid, if it exists
>>>>                     decodedUrl = 
>>>> ERXExtensions.addWosidFormValue(decodedUrl, session);
>>>>             }
>>>>             else {
>>>>                     log.debug("Note: we are storing session id in cookies: 
>>>> therefore not using wosid...");
>>>>             }
>>>>             ERXRedirect redirect = (ERXRedirect) 
>>>> pageWithName("ERXRedirect");
>>>>             // decodedUrl = "http://"; + 
>>>> session().context().request()._serverName() + decodedUrl;
>>>>             log.debug("Finally: redirecting to page: " + decodedUrl);
>>> 
>>> What does that log out?
>>> 
>>> 
>>> either
>>> /cgi-bin/WebObjects/RSNews.woa/2
>>> or
>>> /cgi-bin/WebObjects/RSNews.woa/2/wa/default
>> 
>> Are you storing the session ID in cookies?  I am guessing so as it works 
>> with one instance. If not, you will need to append it to the URL.   
>> Otherwise, those URLs look correct.
>> 
>> 
>>>>             redirect.setUrl(decodedUrl);
>>>>             return redirect;
>>>>     }
>>>> 
>>>> I think the problem is something to do with default actions and may also 
>>>> be complicated by apache rewrite rules but I'm confused and as the title 
>>>> suggests, dimmer than a very dim thing.
>>> 
>>> Rewrite rules are also a definite possibility.  You can use the same ones 
>>> in development to avoid this becoming an issue when  you deploy.
>>> 
>>> RewriteEngine on
>>> RewriteRule ^/$ /cgi-bin/WebObjects/RSNews.woa/ [R]
>>> 
>>> 
>>> Is there a good trick to remove the application identifier from the 
>>> original url before using it as a destination Url. All of this is to 
>>> support being able to email out a cleverly created URL to view secure 
>>> clinical messages so having the JIT login is quite useful really.
>> 
>> I don't think you want to remove it.  I can't quite see what is wrong  yet.
>> 
>> 
>> Chuck
>> 
>> 
>> --
>> Chuck Hill             Senior Consultant / VP Development
>> 
>> Practical WebObjects - for developers who want to increase their overall 
>> knowledge of WebObjects or who are trying to solve specific problems.
>> http://www.global-village.net/products/practical_webobjects
>> 
>> 
>> 
>> 
>> 
>> 
>> 

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.    
http://www.global-village.net/products/practical_webobjects







Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to