Farhan, I figure we should take this back on-list. Messages in chronological order, with my last response at the bottom.

> > On Apr 16, 2008, at 5:06 PM, [EMAIL PROTECTED] wrote:
> > Alex,
> >
> > Wasn't sure how frequent are u in the forum, so thought to mail you
> directly the reply...As below..
> >
> > Subclassing RequestCycle would give me control on begin/end of the
> request, i wouldnt still have access to the Wicket Session (as the Wicket
> Session isnt created at that time)....
> >
> > A plain servlet filter also gives me control in the beginning of the > request (if not at the end), except for the fact that i have am playing with
> HttpRequest,HttpResponse, where as wicket RequestCycle gives me an
> abstracted view of these classes, other than that i am just wondering what > is the real benefit of extending WebRequestCycle..I can still do all the > authentication stuff (check for authtoken/cookie etc) in a normal filter > too..isnt it?..unless am missing some benefits which extending RequestCycle
> would provide
> >
> > Farhan.

On Wed, Apr 16, 2008 at 2:20 PM, Alex Jacoby <[EMAIL PROTECTED]> wrote:
> Farhan,
>
> Good call emailing me - I only check the forum when I get to work in the
> morning.
>
> Why use the (wicket) session for auth info at all? You can use a custom > request cycle just like you use a custom session. That way the fact that
> the session doesn't exist at request time is irrelevant.
>
> Then in your pages you can use RequestCycle.get() instead of Session.get()
> to extract auth info.
>
> My custom AuthenticatedWebSession's auth methods all delegate to my custom
> request cycle methods.
>
>  Does that make sense?
>
> I'm not sure if this will help in your case, but it sounds like it might.
>
>  Alex

On Apr 16, 2008, at 5:42 PM, Farhan Sarwar wrote:
I kind of get you but to be sure, so u suggesting to store the auth data within the request cycle itself and access it using ((MyCustomRequestCycle)RequestCycle.get()).getAuthToken (offcourse once i have set the same attributes onBeginRequest) as below..

public class MyCustomRequestCycle extends WebRequestCycle
{
 String authToken;
 String cookieName;

 public String getAuthToken()
 {
   return authToken;
 }

 public void setAuthToken(String authToken)
 {
   this.authToken = authToken;
 }

 public String getCookieName()
 {
   return cookieName;
 }

 public void setCookieName(String cookieName)
 {
   this.cookieName = cookieName;
 }

public VCertRetailRequestCycle(WebApplication application, Request request,
     Response response)
 {
   super(application, (WebRequest) request, response);
 }

 protected void onBeginRequest()
 {
   // getToken from the url passed as a query string
   setAuthToken(request.getParameter("authToken"));
 }

 protected void onEndRequest()
 {
   authToken = null;
   cookieName = null;
 }
}

Please comment if i am correctly understanding the approach u are suggesting

Now if that is the correct understanding, its just helping me maintain the values submitted with each request, available to all the pages in that particular request cycle...but i would want to maintain that information across the whole session, so that i dont have to append the authToken (passed to me in the url at the first place by the authentication framework) in every url i have in my wicket app (in the form links, forms etcs)...

I understand that WebRequestCycle.onBeginRequest is acting like a filter for me in a "wicket way" where before i allow the request cycle to further continue i can redirect the un-authentication users onBeginRequest to LoginPage or something...

Thanks in advance and Regards,

Farhan.

That is what I meant, but I wasn't sure if the token you were referring to was in a cookie or in the URL. Since it's in the URL, it does complicate stuff.

Here's my proposal: use the custom request cycle to grab the initial token and store that auth info in the request cycle. Then when you create a new wicket session, check if the request cycle has a valid auth token -- if so, you validate the session, save the auth token there if necessary, and never worry about the request cycle (or URL token) again.

You don't need to worry about people logging out from outside your app, right?

Alex

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

Reply via email to