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.