Hello,
after some investigation I reached to the following:
when a wicket session is created it is added as attribute to the
HttpSession:
HttpSessionStore.bind(), and inside it

setAttribute(request, getSessionAttribute(), newSession);

If we assume that inside web.xml the WicketFilter name is "WICKET_FILTER",
the getSessionAttribute() method returns "sessionWICKET_FILTER". Then,
inside 
setAttribute(request, getSessionAttribute(), newSession);
the attribute name, by which the wicket session will be stored in the
HttpSession is formed as
String attributeName = getSessionAttributePrefix(request) + name;, where
name is "sessionWICKET_FILTER" and getSessionAttributePrefix(request)
returns "wicket:WICKET_FILTER:"
As a result of all this the wicket session is stored in HttpSession with
attribute named 
"wicket:WICKET_FILTER:sessionWICKET_FILTER"

On the other hand when the WicketSessionFilter is asked for the session, it
forms it's own attribute value of the stored session:
Inside WicketSessionFilter.getSession() (line 208):
sessionKey = application.getSessionAttributePrefix(null, filterName) +
Session.SESSION_ATTRIBUTE_NAME;, where
application.getSessionAttributePrefix(null, filterName) returns
"wicket:WICKET_FILTER:" and Session.SESSION_ATTRIBUTE_NAME is "session". As
a result WicketSessionFilter tries to get the session with attribute named
"wicket:WICKET_FILTER:session"

The attribute names from HttpSessionStore
("wicket:WICKET_FILTER:sessionWICKET_FILTER") and
WicketSessionFilter("wicket:WICKET_FILTER:session") are different and the
session cannot be retrieved.




--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/WicketSessionFilter-and-ignorePaths-in-WicketFilter-tp3570291p3570577.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to