VRAPTOR - Anotações e acesso [resolvido]

2 respostas
d34d_d3v1l

Opa…

galera, eu fiz um esquema de controle de acesso no vraptor.
Eu coloquei tanto pra anotar a classe, qnto ao método.

Porém, quando anota todos os metodos da classe, funciona ok.
Quando anota apenas a classe, nao funciona.

Isto se deve ao meu interceptador… então, vou mostrar como que eu fiz:

@Override
	public void intercept(InterceptorStack stack, ResourceMethod method,
			Object resource) throws InterceptionException {


		if (userSession.isLogged()) {
			Method classMethod = method.getMethod();

			if (classMethod
					.isAnnotationPresent(AuthenticationLevelRequired.class)) {

				AuthenticationLevelRequired accessContext = classMethod
						.getAnnotation(AuthenticationLevelRequired.class);

				if (accessContext.value().equals(AuthenticationLevel.TEACHER)) {
					if (userSession.getUser().getPerfil().getDescricao()
							.equals("Professor")) {
						stack.next(method, resource);
					} else {
						result.redirectTo(LoginController.class).error();
					}
				} else if (accessContext.value().equals(
						AuthenticationLevel.STUDENT)) {
					if (userSession.getUser().getPerfil().getDescricao()
							.equals("Aluno")) {
						stack.next(method, resource);
					} else {
						result.redirectTo(LoginController.class).error();
					}

				} else if (accessContext.value().equals(
						AuthenticationLevel.ADMIN)) {
					if (userSession.getUser().getPerfil().getDescricao()
							.equals("Professor")) {
						stack.next(method, resource);
					} else {
						result.redirectTo(LoginController.class).error();
					}

				}

			}
		} else {
			result.redirectTo(LoginController.class).index(
					request.getRequestURL().toString());

		}

	}

como que eu faço pra ele verificar a classe?

2 Respostas

Lucas_Cavalcanti

pra verificar a anotação na classe use

Class<?> classe = method.getResource().getType();
classe.isAnnotationPresent(...)
d34d_d3v1l

resolvido.
obrigado

Criado 5 de junho de 2012
Ultima resposta 5 de jun. de 2012
Respostas 2
Participantes 2