Pegar valor de parâmetro de um método pelo interceptor

0 respostas
wagnersf

Estou com o seguinte problema, tenho uma url( http://localhost:8080/projeto/nomedaempresa/login ), que redireciona para um método:

@Get("/{contexto}/login")
public void login(String contexto) {
	result.include("idCli", empresaDao.loadByContexto(contexto).getId() );
	if( usuarioSession.getUsuario() != null ) 
		result.redirectTo(IndexController.class).index(contexto);
}

Ao acessar uma página qualquer do sistema sem estar logado ele passa por um interceptor:

public void intercept(InterceptorStack stack, ResourceMethod method, Object object) throws InterceptionException {
	boolean isUsuarioLogado = ( usuarioSession.getUsuario() != null );
	boolean isQuerAcessarLogin = method.getResource().getType().equals(LoginController.class);
	
	if( !isUsuarioLogado && !isQuerAcessarLogin )
		result.redirectTo(LoginController.class).login();
	else 
		if( hasAcessoClasse(method) && hasAcessoMetodo(method) )
			stack.next(method, object);
		else result.redirectTo(IndexController.class).negado();
}

Só que ao redirecionar para o método do login, ele necessita de um parâmetro “contexto”, que é justamente o no me da empresa (/projeto/nomedaempresa/login). Mas o método anterior possuía um parâmetro “contexto”.
Gostaria de saber se tem como eu pegar o valor de um parâmetro de um método pelo interceptor.

Criado 11 de setembro de 2012
Respostas 0
Participantes 1