Problemas com logout

25 respostas
Mislene

Olá, estou fazendo login de usuário, mais não estou conseguindo encerrar a sessão, quando clico em logoff retorna para tela de login, mais quando clico no botão
voltar e ele volta para a tela com os dados, gostaria de saber como faço para que restrinja o acesso de volta ao sistema com os dados.
Estou tentando com esse código no intercept, mais não deu certo. Se alguém souber me ajude.

@Intercepts
public class SecurityInterceptor implements Interceptor {
 
	private Result result;
	private ClienteWebSession clienteSession;
	
	
	public SecurityInterceptor(Result result,ClienteWebSession clienteSession){
		this.clienteSession = clienteSession;
		this.result = result;
	}


	@Override
	public boolean accepts(ResourceMethod method) {
		if(method.getMethod().getDeclaringClass() == ClienteController.class && method.getMethod().getName().equalsIgnoreCase("login"))
			   return false;
			else
		return false;
	}
	
}

25 Respostas

Lucas_Cavalcanti

o back do browser pode estar mostrando uma versão cacheada…

tenta dar um f5 na tela depois do back

Mislene

Olá Lucas tentei o que você disse e infelizmente está do mesmo jeito…

Lucas_Cavalcanti

o interceptor está retornando false tanto no if qto no else :wink:

Mislene

Oi Lucas ai quando eu retorno true ele barra toda minha aplicação, fica tudo em branco…

Lucas_Cavalcanti

como está o método intercept?

G

Para fazer o logou chame o método HttpSession.invalidate() e depois redirecione para a tela do login.

Penso que a tela em branco seja, como o Lucas suspeitou, que não tenha um stack.next.

Solano

Estou com o mesmo problema, segui este exemplo http://www.wbotelhos.com.br/2010/04/07/controle-de-login-com-vraptor-3/ mas nao deu certo, segue o codigo para analise.

package helper;

import java.io.Serializable;

import javax.servlet.http.HttpSession;

import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.SessionScoped;
import businessObjects.ClienteWeb;

@Component
@SessionScoped
public class ClienteWebSession implements Serializable {
	
private static final long serialVersionUID = 9217498048788861638L;
	
	private ClienteWeb cliente;

	public ClienteWeb getCliente() {
		return cliente;
	}

	public void setCliente(ClienteWeb cliente) {
		this.cliente = cliente;
	}
	
	public void logout(){
		this.cliente = null;
	}
	
}


__________________________________________________________

package controller;


import helper.MessageJson;
import helper.ClienteWebSession;

import java.util.List;

import applicationHelper.CriptografiaSHA1;
import applicationInterfaces.IClienteWebApplication;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.Validator;
import br.com.caelum.vraptor.validator.ValidationMessage;
import br.com.caelum.vraptor.view.Results;
import businessObjects.ClienteWeb;

@Resource
public class ClienteController {

	private IClienteWebApplication clienteDAO;
	private Validator validator;
	private ClienteWebSession clienteSession;
	private Result result;
	
	

	public ClienteController(IClienteWebApplication clienteDAO, 
			Validator validator,
			ClienteWebSession clienteSession, 
			Result result) {
		super();
		this.clienteDAO = clienteDAO;
		this.validator = validator;
		this.clienteSession = clienteSession;
		this.result = result;
	}


	@Get
	public void login(){
		
	}
	
	@Post
	public void login(String nomeUsuario,String senha){
		
		ClienteWeb cliente = clienteDAO.validarCliente(nomeUsuario, senha);
		
		if(cliente == null){
			validator.add(new ValidationMessage("Usuário ou senha inválidos","error"));
			validator.onErrorForwardTo(this).login();
		}else{
				clienteSession.setCliente(cliente);
				result.redirectTo(ClienteController.class).index();
			}
		}
	}
	
	public void logoff(){
		clienteSession.logout();
		result.redirectTo(ClienteController.class).login(); 
	}

_______________________________________________________________
package helper;

import java.util.Arrays;

import controller.ClienteController;
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.ioc.RequestScoped;
import br.com.caelum.vraptor.resource.ResourceMethod;

@Intercepts
@RequestScoped
public class LoginInterceptor implements Interceptor{
	
	private Result result;
	private ClienteWebSession clienteSession;
	
	public LoginInterceptor (Result result, ClienteWebSession clienteSession)
	{
		this.result = result;
		this.clienteSession = clienteSession;
	}
	
	@Override
	public boolean accepts(ResourceMethod method)
	{
		return !Arrays.asList(ClienteController.class).contains(method.getMethod().getDeclaringClass());
	}
	
	@Override
	public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance)
	{
		if(clienteSession.getCliente() != null){
			stack.next(method, resourceInstance);
		}
		else
		{
			result.redirectTo(ClienteController.class).login();
		}
	}

}
Mislene

Solano tbém tentei este exemplo do blog do wbotelhos e não consegui.

G

Nenhum de vocês conseguiu porque não usaram o HttpSession.invalidate(). Não adianta muito perguntar no fórum se quando respondemos, não fazem. :lol:

Solano

private HttpSession htSession;

public void logout(){

this.cliente = null;

htSession.invalidate();

}

está retornando o erro…

java.lang.NullPointerException
	helper.ClienteWebSession.logout(ClienteWebSession.java:30)
	controller.ClienteController.logoff(ClienteController.java:75)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:57)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.util.hibernate.HibernateTransactionInterceptor.intercept(HibernateTransactionInterceptor.java:45)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
G

Você precisa injetar o objeto via construtor.

Solano

Criei o construtor no clientewebsession e passei tanto o clienteweb quanto o httpservlet
está resultando erro

Mislene
Então Garcia criei o construtor como vc disse mais ainda está dando erro... :shock: O erro é esse...
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityInterceptor' defined in file [C:\Users\Mislene\Testevraptor\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web\WEB-INF\classes\helper\SecurityInterceptor.class]: Unsatisfied dependency expressed through constructor argument with index 1 of type [helper.ClienteWebSession]: : Error creating bean with name 'clienteWebSession' defined in file [C:\Users\Mislene\Testevraptor\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web\WEB-INF\classes\helper\ClienteWebSession.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [businessObjects.ClienteWeb]: : No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'clienteWebSession' defined in file [C:\Users\Mislene\Testevraptor\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web\WEB-INF\classes\helper\ClienteWebSession.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [businessObjects.ClienteWeb]: : No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}  
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:698)  
    org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)  
    org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)  
    org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)  
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)  
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)  
    org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004)  
    br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.getBean(VRaptorApplicationContext.java:259)  
    br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.instanceFor(SpringBasedContainer.java:59)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:47)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)  
    br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)  
    br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)  
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)  
  
  
root cause  
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'clienteWebSession' defined in file [C:\Users\Mislene\Testevraptor\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web\WEB-INF\classes\helper\ClienteWebSession.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [businessObjects.ClienteWeb]: : No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}  
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:698)  
    org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)  
    org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)  
    org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)  
    org.springframework.web.context.request.SessionScope.get(SessionScope.java:92)  
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)  
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:820)  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:762)  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)  
    org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)  
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)  
    org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)  
    org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)  
    org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)  
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)  
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)  
    org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004)  
    br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.getBean(VRaptorApplicationContext.java:259)  
    br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.instanceFor(SpringBasedContainer.java:59)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:47)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)  
    br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)  
    br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)  
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)  
  
  
root cause  
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:896)  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:765)  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)  
    org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)  
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)  
    org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)  
    org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)  
    org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)  
    org.springframework.web.context.request.SessionScope.get(SessionScope.java:92)  
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)  
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:820)  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:762)  
    org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)  
    org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)  
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)  
    org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)  
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)  
    org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)  
    org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)  
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)  
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)  
    org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004)  
    br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.getBean(VRaptorApplicationContext.java:259)  
    br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.instanceFor(SpringBasedContainer.java:59)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:47)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)  
    br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)  
    br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)  
    br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)  
    br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)  
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)  
  
  
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.
Lucas_Cavalcanti

No matching bean of type [businessObjects.ClienteWeb]

ClienteWeb é um componente?

Mislene

Não é componente… é um objects

Mislene

Lucas arrumei componente, tanto na classe ClienteWeb e na ClienteWebSession e ainda está dando erro... Help :cry:
O erro...

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityInterceptor' defined in file [C:\Users\Mislene\Testevraptor\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web\WEB-INF\classes\helper\SecurityInterceptor.class]: Unsatisfied dependency expressed through constructor argument with index 1 of type [helper.ClienteWebSession]: : Error creating bean with name 'clienteWebSession' defined in file [C:\Users\Mislene\Testevraptor\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web\WEB-INF\classes\helper\ClienteWebSession.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [businessObjects.ClienteWeb]: : No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'clienteWebSession' defined in file [C:\Users\Mislene\Testevraptor\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web\WEB-INF\classes\helper\ClienteWebSession.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [businessObjects.ClienteWeb]: : No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
	org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:698)
	org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
	org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)
	org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
	org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004)
	br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.getBean(VRaptorApplicationContext.java:259)
	br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.instanceFor(SpringBasedContainer.java:59)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:47)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
root cause

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'clienteWebSession' defined in file [C:\Users\Mislene\Testevraptor\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Web\WEB-INF\classes\helper\ClienteWebSession.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [businessObjects.ClienteWeb]: : No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
	org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:698)
	org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
	org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)
	org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	org.springframework.web.context.request.SessionScope.get(SessionScope.java:92)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:820)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:762)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)
	org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)
	org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)
	org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
	org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)
	org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
	org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004)
	br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.getBean(VRaptorApplicationContext.java:259)
	br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.instanceFor(SpringBasedContainer.java:59)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:47)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
root cause

org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [businessObjects.ClienteWeb] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
	org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:896)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:765)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)
	org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)
	org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)
	org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
	org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)
	org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	org.springframework.web.context.request.SessionScope.get(SessionScope.java:92)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:820)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:762)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)
	org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)
	org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)
	org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
	org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:328)
	org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
	org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004)
	br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.getBean(VRaptorApplicationContext.java:259)
	br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.instanceFor(SpringBasedContainer.java:59)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:47)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.

Apache Tomcat/6.0.32
Lucas_Cavalcanti

se vc recebe um objeto no construtor, ele precisa estar gerenciado pelo vraptor (ser um @Component, por exemplo)

pq vc tá recebendo o clienteWeb no construtor?

Solano

Bom pessoa, acho que descobri qual o problema
tenho um outro sistema com a mesma arquitetura, no entanto com mais funcionalidades
no lado administrativo
A questão é a seguinte, quando clica em logoff, ele zera o objeto da session e roda tbm o invalidate(),
retorna para tela de login. Quando clico no botão voltar do browser ele retorna na página anterior,
no entanto na outra aplicação que tenho acontece o mesmo, porém como a mesma possui outras funcoes
eu clico em algum item do menu que vai chamar um determinado controller, o intercepts já atua verificando que nao
existe usuario na sessao e redireciona para pagina de login, como deve ser.
Estou pesquisando alguma maneira de derepente limpar o cache do browser via comando, para quando clicar
com o botao voltar o mesmo permanecer na tela de login.

Alguem tem outra ideia??

Vamos acabar com esse problema, o que fazer???

Lucas_Cavalcanti

Solano, não tem muito que vc possa fazer… é o comportamento do browser (e cada browser vai ter um comportamento diferente)

pq vc considera isso um problema?

Solano

Lucas
o problema nesse caso não é o browser é o meu código mesmo que está errado e por isso não está dando certo,
na verdade eu não estava compreendendo os métodos do intercept,
voltei e fui dar uma lida na apostila do vraptor…
Verifiquei novamente e escrevi a função no accepts

@Override
	public boolean accepts(ResourceMethod method)
	{
		if((method.getMethod().getDeclaringClass() == ClienteController.class && method.getMethod().getName().equalsIgnoreCase("login")) || (method.getMethod().getDeclaringClass() == HomeController.class))
			   return false;
			else
				return true;
	}

Agora o seguinte, eu já consigo visualizar além do login a página home do site, porém se eu clico em algum link que chama um método da classe HomeController, o vrpator barra no filtro, quero saber qual comando posso passar para que seja aceito todos os métodos da classe HomeController.

Lucas_Cavalcanti

http://vraptor.caelum.com.br/documentacao/interceptadores/

basicamente é o seguinte: se o método accepts retorna true ele passa pelo interceptor. Se retorna false ele passa batido…

e dentro do intercept se vc chama o stack.next ele continua a requisição

Solano

sim sim
segue o codigo do intercept

@Override
	public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance)
	{
		if(clienteSession.getCliente() != null){
			stack.next(method, resourceInstance);
		}
		else
		{
			result.redirectTo(ClienteController.class).login();
		}
	}

a questão é o seguinte, existe os metodos no home controller onde nao há a necessidade de eu estar logado para navegar nas páginas,
eu quero saber o que devo adicionar no accepts ou no intercpts que dê permissão para que os métodos do homeController passe batidos pelo filtro,
pois só estou conseguindo visualizar estas páginas caso esteja logado e as mesmas não fazem parte da area administrativa do site.

Lucas_Cavalcanti

O Washingon botelhos escreveu umas coisas legais sobre esse assunto.

http://www.wbotelhos.com.br/2010/04/07/controle-de-login-com-vraptor-3/

http://www.wbotelhos.com.br/2010/04/23/controle-de-permissao-com-vraptor-3/

vc pode fazer o controle método por método, ou vc pode criar uma anotação para facilitar o controle de qual método vai ou não ser interceptado.

Solano

Lucas,
consegui arrumar,
verifiquei com o wbotelhos
e poder ser utilizado a anotação @Public para metodos e classes passarem pelo intercept
sobre o browser achei um comentário de um cara com o mesmo problema no blog do wbotelhos
daí ele disse para utilizar esta classe
http://vraptor.caelum.com.br/cookbook/evitando-que-o-browser-faca-cache-das-paginas/;jsessionid=-DyQmt9GePnQ4FkHwacfeg

Obrigado!!!

WashingtonBotelho

Fala pessoal,

Devido a dúvida do Solano e este post aqui decidi dar uma atualizada em ambos os posts, só conferir:

http://wbotelhos.com.br/2010/04/07/controle-de-login-com-vraptor-3
http://wbotelhos.com.br/2010/04/23/controle-de-permissao-com-vraptor-3
http://slideshare.net/wbotelhos/controle-de-pe...so-com-vraptor-qcon-sp-2011-lt

Abraço. (:

Criado 15 de setembro de 2011
Ultima resposta 17 de set. de 2011
Respostas 25
Participantes 5