Spring-Sicherheit, entweder HTTP-Basis- oder Formular-Anmeldungsauthentifizierung
Ich habe eine Web-App, die mit spring mvc und spring security 3.2 entwickelt wurde. Ich möchte, dass meine App die HTTP-Basisauthentifizierung für einen erholsamen Dienst und die Anmeldeauthentifizierung für einen anderen Teil verwendet. Unten ist meine Sicherheitskonfiguration:
<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>
Was ich erwarte ist: Wenn sich ein Benutzer über das Formular anmeldet, kann er den Restful-Service aufrufen, ohne die Basisauthentifizierung zu durchlaufen (da er authentifiziert wurde). Mein Gedanke ist, dass ein Benutzer mit der Rolle 'ROLE_USER' auch den Restful Service aufrufen sollte. Nachdem ich mich über das Formular angemeldet hatte, wurde ich jedoch auch aufgefordert, eine Standardauthentifizierung durchzuführen, um den Restful-Service über den Browser aufzurufen.
Gibt es sowieso zu bekommen, was ich erwarte?