java – 自定义authenticationFilter Spring Security 3.2

对于一个项目,我尝试使用Spring Security 3.2作为基本安全性.因为这个项目已经启动并运行,所以我已经拥有了另一个(自己的)安全层.因此,我制作了一个自定义身份验证提供程序来融化安全层.工作正常,直到我还需要进行自定义匿名身份验证(Spring Security Documentation,chapter 13).

所以我做了一个自定义过滤器并删除了orignal过滤器:

豆子:

和te Java类:

public class SecurityAnonymousAuthenticationFilter extends GenericFilterBean implements InitializingBean {
    public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws IOException,ServletException {
        logger.info("Entering doFilter method");
        //implementation code here
    }

    //other methods
}

问题是请求服务器时不调用doFilter方法.但是调用了init方法afterPropertiesSet()…是否有人理解为什么我的customFilter没有被触发?

附:我确实在web.xml文件中命名了delegatingFilterProxy,所以这不是问题.

最佳答案
由于ANONYMOUS_FILTER是与名称空间相关的过滤器.您必须避免引用特定过滤器psoition的任何名称空间标记:

   

有关进一步参考,请参阅2.3.5:http://static.springsource.org/spring-security/site/docs/3.0.x/reference/ns-config.html中的Spring安全性文档

编辑:并确保保留< anonymous-enabled = false />标签.

编辑2:纠正了我的回答.这种配置应该有效.如果没有,那么我们需要开始查看更大的图片并且您必须发布更多应用,从完整配置开始.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...