Steps to reproduce:
- Try to register new user : fill the form with all needed data
- Expect : Register successfully, but always show PopupMessage : Text
verification isn't correct
I've tried to debug and found that :
- in PortalController servlet and CaptchaServlet : i can retrieve the same
HttpSession from the HttpRequestWrapper (wrapped in LocalizationFilter)
- but in the CaptchaValidator : after call to
portalRequestContext.getRequest().getSession() , the HttpSession object is
difference with the one we retrieved in PortalController
Actually, in each request, ApplicationDispatcher doesn't wrap the
ServletFacade , it wrap the HttpRequestWrapper (RequestFacade has already
wrapped by LocalizationFilter), and the local variable crossContext is set
to true --> In portlet, when i call getSession(), the wrapper object
delegates the call to ApplicationHttpRequest, but this wrapper doesn't
delegate to RequestFacade's getSession() method but return the wrong
HttSession