Olá a todos
Estou desenvolvendo uma aplicação utilizando JSF + Spring e estou no parte de login de usuários. Estou desenvolvendo o login da seguinte forma: criei uma classe UserSession, defini a mesma como um bean com escopo de sessão no Spring e injeto este bean em todos os meus managed beans. O que vocês acham desta abordagem?
Mas o meu problema é o seguinte: estou desenvolvendo um Filter, que para todas as requisições ele irá verificar se o usuário está logado ou não. O problema é que para eu fazer esta verificação eu preciso acessar o objeto userSession localizado em meus managed beans. Como eu faço para acessar um manager bean a partir de um filter?
Desde já agradeço a atenção de todos.
         
         
           
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            chicocx  
            
           
           
          
              
                Novembro 17, 2006, 12:31am
               
               
          #2 
           
         
        
          do mesmo jeito que vc faria com qualquer objeto que estivesse no escopo do seu managedBean. Ex.:
request.getSession().getAttribute … -> para secao 
request.getAttribute… -> para requisicao
etc, etc, etc
lembrando que o nome da variavel no escopo é o mesmo que vc declarou no faces-config.xml
         
         
        
            
            
            
         
         
             
             
          
       
      
        
        
          Olá Chico, eu utilizei o seguinte comando para recuperar a sessão, conforme você me respondeu:
req.getSession().getAttribute("userSession") 
Porém ele sempre retorna NULL.
O meu objeto de sessão está declarado no faces-config.xml como userSession.
Existe alguma alteração que eu deva fazer?
         
         
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            chicocx  
            
           
           
          
              
                Novembro 17, 2006, 11:49am
               
               
          #4 
           
         
        
          ==> posta o faces-config.xml
==> outro detalhe é que o JSF instancia o managedBean e o coloca na secao apenas quando vc acessa ele (via a pagina jsf) pela primeira vez
         
         
        
            
            
            
         
         
             
             
          
       
      
        
        
          O faces-config.xml está da seguinte forma:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
			  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
			  http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2">
	<application>
		<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
		<locale-config>
			<default-locale>pt_br</default-locale>
			<supported-locale>pt_br</supported-locale>
		</locale-config>
		<message-bundle>ApplicationResources</message-bundle>
	</application>
	<navigation-rule>
		<from-view-id>/login.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/index.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>error</from-outcome>
			<to-view-id>/login.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<navigation-rule>
		<from-view-id>/index.jsp</from-view-id>
		<navigation-case>
			<from-outcome>add</from-outcome>
			<to-view-id>/form.jsp</to-view-id>
			<redirect/>
		</navigation-case>
		<navigation-case>
			<from-outcome>update</from-outcome>
			<to-view-id>/form.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<navigation-rule>
		<from-view-id>/form.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/index.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>cancel</from-outcome>
			<to-view-id>/index.jsp</to-view-id>
			<redirect/>
		</navigation-case>
	</navigation-rule>
	<managed-bean>
		<managed-bean-name>login</managed-bean-name>
		<managed-bean-class>br.com.addressbook.web.Login</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
		<managed-property>
			<property-name>userSession</property-name>
			<value>#{userSession}</value>
		</managed-property>
		<managed-property>
			<property-name>userManager</property-name>
			<value>#{userManager}</value>
		</managed-property>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>index</managed-bean-name>
		<managed-bean-class>br.com.addressbook.web.Index</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
		<managed-property>
			<property-name>userSession</property-name>
			<value>#{userSession}</value>
		</managed-property>
		<managed-property>
			<property-name>contactManager</property-name>
			<value>#{contactManager}</value>
		</managed-property>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>form</managed-bean-name>
		<managed-bean-class>br.com.addressbook.web.Form</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
		<managed-property>
			<property-name>userSession</property-name>
			<value>#{userSession}</value>
		</managed-property>
		<managed-property>
			<property-name>contactId</property-name>
			<value>#{param.contactId}</value>
		</managed-property>
		<managed-property>
			<property-name>contactManager</property-name>
			<value>#{contactManager}</value>
		</managed-property>
	</managed-bean>
</faces-config> 
         
         
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            chicocx  
            
           
           
          
              
                Dezembro 8, 2006,  9:27am
               
               
          #6 
           
         
        
          Primeiramente desculpe-me a demora em responder mas é que o guj não está avisando quando alguem responde minhas mensagens … só hoje que foi ver.
voce deverá fazer o getAttribute com o nome do seu managedBean, assim:
no lugar de: 
req.getSession().getAttribute(“userSession”)
use 
req.getSession().getAttribute(“form”)