Alex Rivera | Logout

JBoss 7.0.1 running without jsessionid in the URL is not working

Asked 2012-03-14T13:18:09.450
10

Because of some security reasons I deceided to disable session tracking by jsessionid in URL. Before I changed my web.xml to the one below, I had on the first time I visited the page a jsessionid in the url, after clicking the first link, it never appeared again.

My web.xml looks like

   <session-config>
      <session-timeout>10</session-timeout>
      <cookie-config>
         <secure>true</secure>
      </cookie-config>
      <tracking-mode>COOKIE</tracking-mode>
   </session-config>

Now I have the jsessionid in the URL, if I click another link on the page it never disappears. It changes on every click.

If I try to invoke a JSF action, I get an javax.faces.application.ViewExpiredException but the managed bean is @SessionScoped.

This is my dependency tree:

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Java EE 6 webapp project
[INFO]    task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree {execution: default-cli}]
[INFO] de.project:demoapp:war:1.0-SNAPSHOT
[INFO] +- javax.enterprise:cdi-api:jar:1.0-SP4:provided
[INFO] |  +- org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:jar:1.0.0.Final:provided (version managed from 1.0.0.Beta1)
[INFO] |  \- javax.inject:javax.inject:jar:1:provided
[INFO] +- org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec:jar:1.0.0.Final:provided
[INFO] +- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec:jar:1.0.0.Final:provided
[INFO] +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:provided
[INFO] +- org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:jar
Edit
Report

1 Answer

-1

Have you tried setting the javax.faces.STATE_SAVING_METHOD to client in the web.xml?

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
</context-param>

That should have the JSF state saved on the client side instead of the server.

answered 2012-03-17T17:21:12.467

Your Answer