I think we need a RedirectToExternalException extends
AbortRestartResponseException that sets the RedirectRequestTarget to
an external page. Isn't too hard to implement I suppose...
public class RedirectToExternalException extends
AbstractRestartResponseException
{
private static final long serialVersionUID = 1L;
public RedirectToExternalException(String url)
{
RequestCycle rc = RequestCycle.get();
if (rc == null)
{
throw new IllegalStateException(
"This exception can only be thrown from
within request processing cycle");
}
else
{
Response r = rc.getResponse();
if (!(r instanceof WebResponse))
{
throw new IllegalStateException(
"This exception can only be
thrown when wicket is processing an
http request");
}
// abort any further response processing
rc.setRequestTarget(new RedirectRequestTarget(url));
}
}
}
Martijn
On 5/4/08, mfs <[EMAIL PROTECTED]> wrote:
>
> Also my major problem is that when i do an invalidate() in the constructor
> (with or without any redirection) i am taken to the session-expiry page..I
> wonder why is that happening...can you please explain that behavior please ?
> ..the reason as i explained earlier i had to do the same in the in the
> LogoutPage Constructor is because i need to expose this page to an external
> non-wicket app (which on logout) would be redirecting to this page (if a
> wicket session exists)..so as to invalidate my wicket session app..
>
>
>
>
> Johan Compagner wrote:
> >
> > In a constructor of another page is just fine, but use an
> > RestartXxxException. Else you have 2 things that wants to be the
> > response, the redirect and the page you are in.
> >
> > On 5/4/08, mfs <[EMAIL PROTECTED]> wrote:
> >>
> >> Looking for some follow up on this..
> >>
> >> 1) Just wondering as to why isnt a constructor a good place to do the
> >> redirection to an external url , ?
> >> 2) What should be the right place for it, given my use-case..
> >>
> >> Thanks in advance..
> >>
> >> Johan Compagner wrote:
> >> >
> >> > I think this usecase should be supported but isnt the best way, you
> >> > should throw an AbortException when you want to redirect in the
> >> > constructor. Dont know from top of my head if we have one just for an
> >> > url but that is easily made
> >> >
> >> > On 4/30/08, mfs <[EMAIL PROTECTED]> wrote:
> >> >>
> >> >> Guys,
> >> >>
> >> >> I have a LogoutPage which does the following in its constructor
> >> >>
> >> >> LogoutPage()
> >> >> {
> >> >> getSession().invalidate();
> >> >>
> >> >> // redirecting to the external app logout page
> >> >> RequestCycle.get().setRequestTarget(
> >> >> new RedirectRequestTarget(Host.getHttpsUrl()
> >> >> + xyz.getLogoutURL()));
> >> >>
> >> >> getRequestCycle().setRedirect(true);
> >> >> }
> >> >>
> >> >> Now, for some reasons the redirect to the specified external app page
> >> >> doesnt
> >> >> happen, infact i am taken to the session-expired page (which is
> >> because
> >> >> the
> >> >> request comes to wicket app, instead of redirection to this external
> >> app)
> >> >> .
> >> >> Let me add that i am using wiket-auth-roles for authorization...
> >> >>
> >> >> Also the reason i am doing this inside the Page itself (and not in the
> >> >> onClick or some other event as suggested in another other thread) is
> >> >> because
> >> >> i need to expose this LogoutPage to an external app as well, which
> >> will
> >> >> redirect to this page after invalidating the session....This part of
> >> >> Interoperability/SingleSignon Support.
> >> >>
> >> >> Thanks in advance.
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://www.nabble.com/LogoutPage---Responsible-for-invalidation-and-redirection-to-non-wicket-page-tp16974119p16974119.html
> >> >> Sent from the Wicket - User mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> 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]
> >> >
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/LogoutPage---Responsible-for-invalidation-and-redirection-to-non-wicket-page-tp16974119p17042343.html
> >> Sent from the Wicket - User mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> 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]
> >
> >
> >
>
>
> --
> View this message in context:
> http://www.nabble.com/LogoutPage---Responsible-for-invalidation-and-redirection-to-non-wicket-page-tp16974119p17050703.html
>
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Buy Wicket in Action: http://manning.com/dashorst
Apache Wicket 1.3.3 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.3
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]