어느 한이가 로그인 페이지에서 내 나를 기억 필드, 어떻게 나 사용자 인증을위한 봄 보안에 기억 확인란을 사용하는 나에게사용자 인증을 위해 봄 보안 나를 기억 사용 방법
을 아이디어를 줄 수
이이 secuirty.xml의 구성입니다
덕분에 하나의 선언
Spring Docs에 정의 된어느 한이가 로그인 페이지에서 내 나를 기억 필드, 어떻게 나 사용자 인증을위한 봄 보안에 기억 확인란을 사용하는 나에게사용자 인증을 위해 봄 보안 나를 기억 사용 방법
을 아이디어를 줄 수
이이 secuirty.xml의 구성입니다
덕분에 하나의 선언
Spring Docs에 정의 된하는 "기억 - 나", "사용자 서비스-REF"합니다 :
"remember-me 서비스 구현에는 UserDetailsService에 대한 액세스가 필요하므로 응용 프로그램에 정의 된 컨텍스트가 있어야합니다."
그러나 사용자의 경우 user-service-ref는 MyCustomAuthentication 유형의 bean에 대한 참조입니다. 이 때문에 "MyCustomAuthentication을 UserDetailsService로 캐스팅 할 수 없습니다."라는 ClassCastException이 발생합니다.
당신과 같이 정의한다 :
<security:user-service id="userDetailsService">
<security:user name="username" password="pass" authorities="ROLE_USER" />
</security:user-service>
을하고 "사용자 서비스-REF"
추신 :이 ID를 사용 당신이, 당신의 요구를 들어뿐만 아니라
HTH
당신의 인증 제공자를 해결해야 할 것이다 이럴 더 정확하게하기 :
<http auto-config="true" use-expressions="true">
...
<remember-me user-service-ref="customUserDetailsManager"/>
</http>
<b:bean id="customUserDetailsManager"
class="com.something.something.MyCustomUserDetailsManager" />
<authentication-manager>
<authentication-provider user-service-ref="customUserDetailsManager">
</authentication-provider>
</authentication-manager>
</b:beans>
주 MyCustomUserDetailsManager는
또 다른 중요한 점 UserDetailsManager
을 구현해야 (문서에서) :pring의) 구현에는 UserDetailsService가 필요합니다. (예 : LDAP 공급자)의 UserDetailsService를 사용하지 않는 인증 공급자를 사용하는 경우 응용 프로그램 컨텍스트에 UserDetailsService 빈도 있어야 않으면 작동하지 않습니다.
사용자 정의 인증 클래스를 계속 사용할 수 있습니다. 아직 userDetailsService를 정의하고 내가 보여준대로 장소를 참조해야합니다. 그렇지 않으면 봄부터 예외가 계속 발생합니다. – OhadR
위의 예를 추가했습니다. 친절하고이 답변을 유용하다고 표시하십시오. – OhadR
remember-me는 인증 공급자와 아무런 관련이 없습니다. 물론 자신의 공급자를 구현할 수 있으며를 사용합니다. 그리고이 예에서 보여준 것과 똑같은 상태로 있습니다. –
OhadR