【问题标题】:How to define whether a spring security filter should be called or not如何定义是否应调用弹簧安全过滤器
【发布时间】:2015-09-20 03:20:09
【问题描述】:

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

【问题讨论】:

    标签: java spring jakarta-ee spring-security


    【解决方案1】:

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

    一些提示:

    • 所有 Spring Security 过滤器都是 javax.servlet.Filter 的实例。
    • 但是,它们通常不会在您的 Web 应用中直接声明为过滤器,而是由 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 实例中实现“复杂逻辑”。连接所有东西的方式很大程度上取决于您当前的设置。

    【讨论】:

      猜你喜欢
      • 2018-11-09
      • 1970-01-01
      • 2017-03-18
      • 2017-03-18
      相关资源
      最近更新 更多