Boa tarde
Tenho uma aplicação que utiliza jsf 2 + primefaces 3.3.1 + spring security 3.1.1.
Nessa aplicação existem vários papéis de usuários para acesso ao sistema.
O problema que estou tendo é que faço o login com o usuário X (Administrador) ele funciona normalmente, após faço o logout e depois faço login com o usuário Y (professor), ele carrega as opções de menu corretas, só que quando clico no link aula por exemplo ele recupera o meu usuário X com todas as opções do mesmo.
Não entendo porque ele recupera um usuário que já foi desconectado, mesmo entrando com outro usuário. Se puderem me ajudar, agradeço.
OBS: Esse problema só acontece se utilizar uma máquina que não seja a qual tem o servidor instalado.
Segue o código do applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Sample namespace-based configuration
-
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:faces="http://www.springframework.org/schema/faces"
xmlns:int-security="http://www.springframework.org/schema/integration/security"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:sec="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/integration/security http://www.springframework.org/schema/integration/security/spring-integration-security-2.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd
http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-2.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/faces http://www.springframework.org/schema/faces/spring-faces-2.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<context:component-scan base-package="xxx.authentication" />
<sec:http auto-config="false" use-expressions="true" access-denied-page="/negado.xhtml" disable-url-rewriting="true">
<sec:intercept-url pattern="/restrito/xxx/usuario" access="hasRole('ROLE_ADMINISTRADOR')" />
<sec:intercept-url pattern="/restrito/xxx/**" access="hasAnyRole('ROLE_USUARIO','ROLE_ADMINISTRADOR')" />
<sec:intercept-url pattern="/restrito/professor/**" access="hasAnyRole('ROLE_PROFESSOR','ROLE_USUARIO','ROLE_ADMINISTRADOR')" />
<sec:intercept-url pattern="/restrito/escola/coordenador/**" access="hasRole('ROLE_DIRETOR')" />
<sec:intercept-url pattern="/restrito/escola/**" access="hasAnyRole('ROLE_DIRETOR', 'ROLE_COORDENADOR','ROLE_USUARIO','ROLE_ADMINISTRADOR')" />
<sec:intercept-url pattern="/restrito/**" access="isAuthenticated()" />
<sec:form-login login-page="/login.xhtml" authentication-failure-url="/login.xhtml" />
<sec:logout invalidate-session="true" delete-cookies="JSESSIONID" logout-success-url="/login.xhtml" />
<sec:session-management>
<sec:concurrency-control max-sessions="1" error-if-maximum-exceeded="true" />
</sec:session-management>
</sec:http>
<sec:global-method-security secured-annotations="enabled" jsr250-annotations="enabled" />
<sec:authentication-manager alias="authenticationManager">
<sec:authentication-provider user-service-ref="userDetailsService" />
</sec:authentication-manager>
</beans>