Spring security Spring安全性:在配置之间共享拦截url

Spring security Spring安全性:在配置之间共享拦截url,spring-security,Spring Security,我有两种不同的spring安全配置,一种用于本地开发,另一种用于每个测试和生产服务器。它们完全不同,但需要共享“截取url”部分。 考虑到这一点: <security:http ... > <security:http-basic /> <security:anonymous /> <security:intercept-url ... /> <security:intercept-url ... />

我有两种不同的spring安全配置,一种用于本地开发,另一种用于每个测试和生产服务器。它们完全不同,但需要共享“截取url”部分。 考虑到这一点:

<security:http ... >
    <security:http-basic />
    <security:anonymous />
    <security:intercept-url ... />
    <security:intercept-url ... />
    ...
</security:http>

...
我需要在两个不同的http标记之间共享截取url标记的列表。
有什么方法可以做到这一点吗?

使用名称空间很难做到这一点

如果您只是定义访问约束,一种可能是定义一个外部文件,然后编写一个
BeanPostProcessor
,将其注入
过滤器安全interceptor

然而,像这样的事情可能不值得麻烦

另一个选项是将要用作bean的身份验证过滤器外部化(使用
自定义过滤器
元素将它们添加到
配置中),并根据您的环境分别配置它们。如果您可以显式地发布这两种配置以查看有多少重叠,那么就更容易说明这是多么可行