Я использую провайдера CustomAuthentication
для аутентификации, который расширяет AbstractUserDetailsAuthenticationProvider
. Это мне пришлось сделать, потому что я хотел аутентифицироваться в веб-службе и нуждался как в идентификаторе пользователя, так и в пароле. Это был единственный класс, который позволил мне это сделать. Теперь я столкнулся с проблемами реализации функции запоминания для этого, вот мой файл контекста безопасности -
<http auto-config="true">
<intercept-url pattern="/j_spring_security_check" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/dashboard*" access="ROLE_USER" />
<form-login login-page="/login.html" default-target-url="/dashboard1.html#meetings"
authentication-failure-url="/loginFailed.html" />
<logout logout-success-url="/login.html" />
</http>
<beans:bean name="customAuthenticationProvider" class = "com.component.WebServiceUserDetailsAuthenticationProvider"/>
<authentication-manager>
<authentication-provider ref = "customAuthenticationProvider"/>
</authentication-manager>
</beans:beans>
Теперь я пытаюсь реализовать «запомнить меня», но это вынуждает меня иметь службу сведений о пользователе, которую я не могу иметь, поскольку мне нужно и имя пользователя, и пароль для повторной аутентификации моей веб-службы, и метод, предоставляемый userdetailservice, дает только имя пользователя, а не пароль, и это причина, по которой мне пришлось использовать customAuthentication в первую очередь.
AbstractUserDetailsAuthenticationProvider
. Вы можете просто реализовать интерфейсAuthenticationProvider
напрямую. - person Shaun the Sheep   schedule 11.06.2013