VRaptor - Interceptador [resolvido]

queria fazer um controle de acesso na aplicação do goodbuy…

Estava pensando em fazer o interceptador tipo

@RestritoAdmin

além do @Restrito que já tem…

então, uma aplicação ´so pode ter 1 interceptador?
Posso criar outro ou da algum conflito ou algo do tpw?

Se não for possível fazer assim,
vou jogar um atributo no usuarioWeb q retorna o perfil do cara,
e nos
<c:if test> eu jogo a condição lá…

mas acho q ficaria mais elegante com as anotações.
(E mais facil de dar manutencao tb)

abraços

opa…
.da certo sim

pra quem interessar:

package br.loja.modelo;


import br.com.caelum.vraptor.InterceptionException;
import br.com.caelum.vraptor.Intercepts;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.core.InterceptorStack;
import br.com.caelum.vraptor.interceptor.Interceptor;
import br.com.caelum.vraptor.resource.ResourceMethod;
import br.loja.control.UsuariosController;

@Intercepts
public class AcessoInterceptor implements Interceptor {
private final UsuarioWeb usuario;
private final Result result;
public AcessoInterceptor(UsuarioWeb usuario, Result result) {
this.usuario = usuario;
this.result = result;
}

public boolean accepts(ResourceMethod method) {
	return !usuario.isAdmin() && method.containsAnnotation(RestritoAdmin.class);
}


public void intercept(InterceptorStack stack, ResourceMethod method,
Object resourceInstance) throws InterceptionException {
result.redirectTo(UsuariosController.class).error();
}
}

Interface:

package br.loja.modelo;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME) //a anotação vai ficar disponível em tempo de execucao
@Target(ElementType.METHOD) // anotação para métodos
public @interface RestritoAdmin {
}


método:

	@RestritoAdmin
	@Restrito
	@Get @Path("/produtos/novo")
	public void form(){	
	}