Lucas, o estranho é ele ter conseguido bater em /admin
@Path("/admin")
public void admin(){
System.out.println(usuarioSession.getUsuario().getNome());
}
Ele tinha que ter passado pelo interceptor…
quando vc testou fazendo um get ao /admin… ele passou pelo interceptor, certo? nesse caso ele estava null tb?
tenta fazer o seguinte:
coloque:
System.out.println(usuarioSession);
tanto no interceptor quanto no controller e veja se é a mesma instância (tem que imprimir o mesmo número depois do @)
Controler
@Path("/admin")
public void admin(){
System.err.println("Controler: " + usuarioSession);
}
Interceptor
public void intercept(InterceptorStack stack, ResourceMethod method,
Object resourceInstance) throws InterceptionException {
stack.next(method, resourceInstance);
System.err.println("Interceptor: " + usuarioSession);
}
Resultados
15:22:04,831 DEBUG [DefaultLogicResult ] Executing AdminController.admin()
Controler: br.com.cmc.session.UsuarioSession@3f60ce3a
15:22:04,836 DEBUG [DefaultLogicResult ] Forwarding to /WEB-INF/jsp/admin/admin.jsp
15:22:04,837 DEBUG [DefaultStaticContentHandler] Deferring request to container: /cmc/WEB-INF/jsp/admin/admin.jsp
15:22:04,854 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ForwardToDefaultViewInterceptor
15:22:04,854 DEBUG [ForwardToDefaultViewInterceptor] Request already dispatched and commited somewhere else, not forwarding.
Interceptor: br.com.cmc.session.UsuarioSession@3f60ce3a
15:22:04,855 DEBUG [VRaptor ] VRaptor ended the request
e se vc der um getUsuario no interceptor não traz nada? e no controller traz?
se vc faz outras requisições, continua o mesmo número?
não faz sentido ele ser o mesmo usuarioSession e o usuário la dentro ficar mudando… a menos que vc esteja fazendo o .setUsuario(null) em algum lugar
Então Kadu, no Interceptor antes do stack o usuário é vazio e depois ele tem valor, no controller no método admin() sempre tem o valor do usuário que logou.
[quote=Lucas Cavalcanti]se vc faz outras requisições, continua o mesmo número?
não faz sentido ele ser o mesmo usuarioSession e o usuário la dentro ficar mudando… a menos que vc esteja fazendo o .setUsuario(null) em algum lugar[/quote]
Lucas, a cada requisição o numero muda.
Vou dar uma revisada geral no projeto pra ver se tem alguma coisa como .setUsuario(null). (tomara que eu ache rsrs)
se cada requisição muda o número, significa que o cara não tá no session scope…
a anotação @SessionScope que vc usou é a do VRaptor?