在自定义Spring安全过滤器内的会话中保存对象

时间:2011-11-16 11:31:05

标签: jsf-2 spring-security session-variables

我正在使用Spring 3.1.0.RC3和JSF 2.0。

我实现了一个自定义弹簧安全过滤器,我想在用户会话中存储一个对象,以便以后恢复它。我就是这样做的。

public class SpringCustomSecurityFilter extends AbstractAuthenticationProcessingFilter 
{
    public Authentication attemptAuthentication(HttpServletRequest request,
        HttpServletResponse response) throws AuthenticationException,
            IOException, ServletException 
    {
        // Putting the attribute
        request.getSession().setAttribute("OBJECT_STRING","hola");

        // Recovering the attribute
        String aux = request.getSession().getAttribute("OBJECT_STRING");
    }

}

问题是它实际上把对象放在会话中但是当我再次进入过滤器后,会话中不存在该属性。那么如何在JSF前端的会话中存储属性呢?

1 个答案:

答案 0 :(得分:0)

它应该有效,你检查过你的会话是否相同?你可以打电话

request.getSession().getId()

验证它。