Hi Martin,

I think this might have solved it . Many thanks :-)

On Wed, Nov 5, 2014 at 1:49 PM, Martin Grigorov <mgrigo...@apache.org>
wrote:

> Thanks ! It is more clear now !
>
>
> On Wed, Nov 5, 2014 at 3:44 PM, Wayne W <waynemailingli...@gmail.com>
> wrote:
>
> > Sorry Martin its not clear enough. This any better?
> >
> >
> >    1. Tomcat1 / Session A / Thread 1: User goes to :
> my.example.com/login
> >     (LoginPage.java)
> >    2. Tomcat1 / Session A / Thread 2: They log in
> >    3. Tomcat 1 / Session A / Thread 2 : We invalidate the session and do
> a
> >    redirect to : foo.example.com/login passing some parameters
> >    4. Tomcat 2 / Session B / Thread 1: In the constructor of LoginPage we
> >    verify the parameters and if valid setup up the new current session
> with
> >    the user's details (Session.setUser(user))
> >    5. Tomcat 2/ Session B / Thread 1: LoginPage then does
> >    a setResponsePage(Application.get().getHomePage());
> >
>
> try by adding getSession().bind(); at step 5
>
>
> >    6. Tomcat 2/Session B / Thread
> >    1:  MetaDataRoleAuthorizationStrategy.isInstantiationAuthorized()
> finds
> >    null in the Session (Session.getUser() )
> >
> >
> >
> >
> > On Wed, Nov 5, 2014 at 11:22 AM, Martin Grigorov <mgrigo...@apache.org>
> > wrote:
> >
> > > Then your first mail misleads.
> > > Would you please explain again the steps with more details which step
> on
> > > which node happens.
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> > > On Wed, Nov 5, 2014 at 1:01 PM, Wayne W <waynemailingli...@gmail.com>
> > > wrote:
> > >
> > > > Hi Martin,
> > > >
> > > > I don't think this is anything to do with session replication, as we
> > > > invalidate the session at step 3 and its not about trying to pick the
> > > > session up on a different instance. Its about creating a new session
> > > from a
> > > > redirect where the issue seems. We do use sticky session load
> balancing
> > > via
> > > > the JSESSION cookie on apache.
> > > >
> > > >
> > > >
> > > > On Wed, Nov 5, 2014 at 10:56 AM, Martin Grigorov <
> mgrigo...@apache.org
> > >
> > > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > As far as I know the session replication supporting code is the
> same
> > > > since
> > > > > Wicket 1.4.1 (or 1.4.2).
> > > > >
> > > > > The Wicket Session object is saved as an attribute in the
> > HttpSession.
> > > > The
> > > > > HttpSession is replicated by Tomcat itself. What is your Tomcat
> > config
> > > > > related to replication ?
> > > > > Do you use sticky sessions ? It seems you don't but I have to ask.
> > > > >
> > > > > Martin Grigorov
> > > > > Wicket Training and Consulting
> > > > > https://twitter.com/mtgrigorov
> > > > >
> > > > > On Wed, Nov 5, 2014 at 12:43 PM, Wayne W <
> > waynemailingli...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > we recently migrated to 6.17 from 4.x. Something we are now
> > > > experiencing
> > > > > is
> > > > > > an odd session problem in production.
> > > > > >
> > > > > > We have 2 tomcats load balance running the front end wicket code.
> > We
> > > > > have a
> > > > > > certain flow that goes like this:
> > > > > >
> > > > > >
> > > > > >    1. User goes to : my.example.com/login (LoginPage.java)
> > > > > >    2. They log in
> > > > > >    3. We invalidate the session and do a redirect to :
> > > > > > foo.example.com/login
> > > > > >    passing some parameters
> > > > > >    4. In the constructor of LoginPage we verify the parameters
> and
> > if
> > > > > valid
> > > > > >    setup up the new current session with the user's details
> > > > > >    5. LoginPage then does
> > > > > >    a setResponsePage(Application.get().getHomePage());
> > > > > >
> > > > > > This on a single node/machine/instance of tomcat works great and
> > with
> > > > > > Wicket 4 it also worked great in a 2 node/instance load balanced
> > > > > situation
> > > > > > however we have a problem.
> > > > > >
> > > > > > Problem:
> > > > > > If at step 3 the redirect gets load balances to a different
> > instance
> > > of
> > > > > > tomcat, step 4 works fine (the request is read the the new
> session
> > is
> > > > got
> > > > > > and the user info set on it). But this is when it gets really
> odd.
> > > > Step 5
> > > > > > is executed fine, but when the home page is constructed
> > > > > > our MetaDataRoleAuthorizationStrategy.isInstantiationAuthorized()
> > is
> > > > > > called as normal, and when we check the session to see if the
> users
> > > > > details
> > > > > > are ok, there is no user in the session at all and we have a
> > > different
> > > > > > session !
> > > > > >
> > > > > > Any ideas at all what is happening here? Did something change
> > around
> > > > the
> > > > > > session handling? I'm wondering if its something to do with the
> 302
> > > > > > redirect to the new URL with parameters?
> > > > > >
> > > > > > many thanks
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to