我有一个使用 spring mvc 和 spring security 3.2 开发的网络应用程序。我希望我的应用程序使用 http 基本身份验证进行 restful 服务并使用表单登录身份验证其他部分。以下是我的安全配置:
<http pattern="/services/**" create-session="stateless" use-expressions="true">
<intercept-url pattern="/**" access="hasRole('ROLE_REMOTE,ROLE_USER')"/>
<http-basic />
</http>
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/static/**" access="permitAll" />
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<form-login login-page="/login.do" always-use-default-target="true" default-target-url="/main.do" />
<logout invalidate-session="true" logout-success-url="/login.do"
logout-url="/j_spring_security_logout" />
</http>
我期望的是:当用户从表单登录时,它可以调用 restful 服务而无需经过基本身份验证(因为它已经过身份验证)。我的想法是角色“ROLE_USER”的用户也应该调用restful服务。但是,我得到的是从表单登录后,还提示我进行基本身份验证,尝试从浏览器调用 restful 服务。
反正有没有得到我所期望的?