2013-07-27 2 views
1

AnonymousAuthenticationFilter를 구현하고 싶지만 진행 방법을 모르겠습니다. 우리는 "잊어 버린 암호"링크가있는 페이지에 사인이 있습니다. 그러나 사용자가 유효한 사용자가 아니라면이 링크를 표시하고 싶지 않습니다. 따라서 우리는 Spring AnonymousAuthenticationFilter를 사용하여 특정 쿠키가 있는지를 탐지합니다. 쿠키가 발견되면, Spring 보안 taglib을 사용하여 링크와 그 링크를 처리 할 코드를 표시합니다.Spring AnonymousAuthenticationFilter 구현 방법

예, 쿠키가 만료되었거나 사용자가 컴퓨터 또는 브라우저를 전환했습니다. 실제로 비밀번호를 변경하고 "비밀번호 찾기"링크가없는 경우 사용자가 전화를 걸도록합니다.

까다로운 부분은 우리가 이미 security-context.xml에 인증 관리자를 구성 했으므로 그러한 AnonymousAuthenticationFilter를 구현하는 방법을 모르겠다는 것입니다.

미리 감사드립니다.

답변

3

귀하의 질문에 실제로 의미가 없습니다. AnonymousAuthenticationFilter은 내부적으로 구현되며 용도는 the manual에 설명되어 있습니다. 일반적으로 자신의 다른 버전을 만들고 쿠키 또는 기타 제출 된 인증 데이터를 확인하는 것과 관련이 없습니다.

쿠키를 확인하려면 로그인 양식을 렌더링하는 컨트롤러와 암호 전송 링크를 구현하는 컨트롤러에서 직접 쿠키를 확인할 수 있습니다. 인증 된 사용자가 처음으로 사이트의 보안 부분에 액세스 할 때 쿠키를 설정할 수 있습니다.

+0

귀하의 솔루션이 효과가 있다고 생각합니다. 나는 봄 보안이 처음이다. 따라서, 나는 자동 파일럿이 isAuthenticated() 이전의 것들이 익명 인증이어야한다고 생각하고있었습니다. 나는 또한 커스텀 필터를 구현하는 방법을 찾고있다. 나는 내가 여기에 너무 많은 것을 복잡하게하는 것을 끝낼지도 모른다라고 생각한다. 따라서 login.jsp로 전달하는 "/"컨트롤러가 초기 화면을 렌더링하는 방법을 결정해야한다고 생각합니다. 따라서 쿠키 및 숨기기 링크, 등등. 귀하의 의견을 보내 주셔서 감사합니다. – hb5fa

+0

당신을 진심으로 환영합니다. 스프링 보안 통합에 대해 전혀 걱정할 필요가 없기 때문에 그렇게 할 수 있기 때문에 더 좋은 방법이라고 생각합니다. 쿠키를 설정할 때 사용자가 인증되었는지 확인할 수 있어야합니다. 이 정보는 예를 들어'HttpServletRequest.getRemoteUser' 메소드에서도 얻을 수 있습니다. –

관련 문제