2014-02-07 2 views
2

사용자는 스프링 보안이 지원되는 응용 프로그램에서 동의해야하는 EULA 페이지를 구현해야하며 이에 대해 가장 좋은 방법은 무엇인지 궁금합니다. 내가 현재 가지고있는 구현은 이미 승인되지 않은 경우 authentication-success-handler-ref를 사용하여 성공적으로 인증 된 사용자를 EULA 페이지로 리디렉션합니다. 이것은 잘 작동하지만 문제는 사용자가 이미 인증되었으므로 사용자가 EULA를 수락 할 수 없다는 것입니다. 단순히 URL을 변경하고 메리가는 길을 택할 수 있습니다.스프링 보안 사용자 계약 페이지

필자는 필터가 적절할 것으로 생각하고 있었습니까? 필터 체인에 마지막으로 앉아서 사용자가 EULA 페이지로 리디렉션되는 필터 (아직 승인되지 않은 경우) 또는 통과 한 경우 통과하도록 지정하는 필터. EULA 페이지는 가로 채기 URL에 permitAll이 있어야합니까?

또는 완전히 다른 접근 방식 (맞춤식 표현식 평가 기)?

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

감사합니다.

+0

사용자가 EULA를 수락하면 유효한 사용자 역할 (GrantedAuthority)을 할당하는 한 가지 방법이 있습니다. 사용자가 그 역할을 할 때 응용 프로그램의 다른 부분에 대한 액세스가 허용되어야합니다. – Ritesh

답변

0

나는 필터 아이디어를 좋아한다.

특정 액세스 수준은 익명 사용자가 EULA를 수락해야하는지 여부에 따라 다릅니다. 그렇다면 permitAll이 좋습니다. EULA 인증 및 장기 추적이 필요한 경우 eulaAgreed 속성을 계정에 추가하고 EULA 페이지에서 isAuthenticated을 사용하십시오.

관련 문제