[seam-issues] [JBoss JIRA] Commented: (JBSEAM-4514) org.jboss.seam.core.Locale cookie
Frank Cornelis (JIRA)
jira-events at lists.jboss.org
Tue Dec 29 02:51:30 EST 2009
[ https://jira.jboss.org/jira/browse/JBSEAM-4514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12501724#action_12501724 ]
Frank Cornelis commented on JBSEAM-4514:
----------------------------------------
Weird, despite the components.xml configuration being set to:
<international:locale-selector cookie-enabled="true" />
I never receive the cookie (using WebScarab to analyse the HTTP traffic). Could be something else...
> org.jboss.seam.core.Locale cookie
> ---------------------------------
>
> Key: JBSEAM-4514
> URL: https://jira.jboss.org/jira/browse/JBSEAM-4514
> Project: Seam
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.2.0.GA
> Environment: Firefox
> Reporter: Frank Cornelis
> Priority: Critical
> Original Estimate: 2 hours
> Remaining Estimate: 2 hours
>
> The org.jboss.seam.core.Locale cookie has different values for the Path and Secure attributes compared to the JSESSIONID cookie. Probably because of this an SSL-secured web application cannot persist the locale selection when running your application on a remote JBoss AS. I guess the org.jboss.seam.core.Locale cookie should inherent some of the flags (Path, Secure) from the JSESSIONID to make it work. This logic should be implemented as part of Selector.setCookieValueIfEnabled. I haven't tested it out yet, but the code should probably look something like this:
> boolean secure = false;
> String path = this.cookiePath;
> HttpServletRequest request = (HttpServletRequest) ctx.getExternalContext().getRequest();
> Cookie[] cookies = request.getCookies();
> if (null != cookies) {
> for (Cookie cookie : cookies) {
> if ("JSESSIONID".equals(cookie.getName()) {
> secure = cookie.getSecure();
> path = cookie.getPath();
> break;
> }
> }
> }
> HttpServletResponse response = (HttpServletResponse) ctx.getExternalContext().getResponse();
> Cookie cookie = new Cookie( getCookieName(), value );
> cookie.setMaxAge( getCookieMaxAge() );
> cookie.setPath(path);
> cookie.setSecure(secure);
> response.addCookie(cookie);
> See also: http://seamframework.org/Community/SeamLocaleIssues#comment111698
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list