我想在我的Spring应用程序中有以下场景:
如何配置我的spring-security.xml
文件来实现此目的?理想情况下,我希望能够表达这样的内容:
<http port=8441 use-expressions="true">
<http-basic entry-point-ref="ambariEntryPoint" />
<intercept-url pattern="/**" access="permitAll()" method="GET"/>
<intercept-url pattern="/**" access="hasRole('ADMIN')" method="DELETE"/>
<x509 subject-principal-regex="(.*)" />
</http>
<http port=8440 use-expressions="true">
<http-basic entry-point-ref="ambariEntryPoint" />
<intercept-url pattern="/**" access="permitAll()" />
</http>
这是实现这个目标的方法吗?
答案 0 :(得分:1)
不幸的是,你不能用Spring Security做到这一点。客户端身份验证由Servlet容器(或其后面的WebServer)执行。
您可以配置两个不同的Web应用程序。然后,您需要为第一个应用程序配置Servlet容器以进行客户端证书身份验证,并为第二个应用程序配置SSL。
Spring Security将允许使用<x509>
过滤器