我正在尝试让 spring-security 与一个项目一起工作,该项目既需要表单登录组件(用于网站访问),又需要用于 Web 服务的 http-basic 或 http-digest 组件。现在我们从基于命名空间的配置开始,例如一个 spring-security.xml 文件,其中包含以下内容:
<http auto-config="true">
<intercept-url...>
...
</http>
但是你必须默认使用基于表单或默认使用http-basic(即这只配置一个过滤器链)。我想要的是某些东西永远不会重定向到表单,而只是使用 http-basic 或等效的。该手册似乎确实涵盖了这一点,只有当您遵循他们的建议时,您最终必须为所有内容定义自己的过滤器链。
所以我想知道,真的没有别的办法了吗?有没有一种方法可以将 http 元素引入的过滤器链重用于那些仍然可以使用旧方案的元素?基于命名空间的配置对我们来说非常方便,因为它易于阅读和理解,而 bean 定义列表则不那么......