如何定义是否应该调用spring安全过滤器

时间:2015-07-02 14:25:09

标签: java spring java-ee spring-security

我的applicationContext.xml上有很多bean,但我不想调用所有bean。在调用bean之前,有一些复杂的规则定义了它们是否应该被调用,并且我无法修改它们的源代码。 是否有某种特殊的"匹配"我可以实施的规则吗?

1 个答案:

答案 0 :(得分:0)

Spring Security有大量配置选项。但是,如果没有更多信息,很难弄清楚你到底想要做什么。

一些提示:

  • 所有Spring Security过滤器都是javax.servlet.Filter
  • 的实例
  • 但是,它们通常不会直接在您的网络应用中声明为过滤器,而是由org.springframework.security.web.FilterChainProxy(也是javax.servlet.Filter)调用。
  • org.springframework.security.web.FilterChainProxyorg.springframework.security.web.SecurityFilterChain
  • 的实例中组织过滤器
  • 可能还有一个SecurityFilterChain。这些链与使用org.springframework.security.web.util.matcher.RequestMatcher
  • 的请求相匹配

简而言之,您可以创建多个SecurityFilterChain实例并实现"复杂逻辑"在RequestMatcher个实例中。连接所有内容的方式在很大程度上取决于您当前的设置。