Безопасность Spring, обычная http или аутентификация при входе в систему
У меня есть веб-приложение, разработанное с использованием Spring MVC и Spring Security 3.2. Я хочу, чтобы мое приложение использовало базовую аутентификацию http для полноценного обслуживания, а для другой части - аутентификацию формы входа. Ниже моя конфигурация безопасности:
<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 из браузера.
Есть ли способ получить то, что я ожидаю?