Vraptor 3 Duvidas

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?