Steps to reproduce:<br>- Try to register new user : fill the form with all needed data<br>- Expect : Register successfully, but always show PopupMessage : Text verification isn't correct<br><br>I've tried to debug and found that :<br>
- in PortalController servlet and CaptchaServlet : i can retrieve the same HttpSession from the HttpRequestWrapper (wrapped in LocalizationFilter)<br>- but in the CaptchaValidator : after call to portalRequestContext.getRequest().getSession() , the HttpSession object is difference with the one we retrieved in PortalController<br>
<br>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