관련 웹 응용 프로그램의 클라이언트가 자체 인증 상태를 유지하기를 원합니다. 클러스터 노드간에 세션 복제가 필요 없기 때문에 확장 성이 향상됩니다. 또한 Java Servlets 및 PHP와 같은 다양한 서버 기술을보다 쉽게 통합 할 수 있습니다. 다음과 같이클라이언트 측 세션
내 계획은 다음과 같습니다
- 설정 클라이언트 인증 후 사용자 이름과 세션 만료 시간과 함께 서명 및 암호화 된 쿠키.
- 클라이언트가 요청을 보내면 서버는 쿠키를 해독하고 유효성을 검사하고 쿠키 값에 따라 액세스를 허용하거나 거부합니다.
- 세션 만료는 쿠키 재설정을 통해 업데이트됩니다.
세션을 사용하려는 모든 서버는 쿠키 메커니즘과 암호 해독 키를 알고 있어야합니다. 참고 : Session state in the client tier
이 방법이 좋습니까? 서블릿 컨테이너/애플리케이션 서버에 애플리케이션을 투명하게 구현할 수 있습니까? 서블릿은 예를 들어 HttpServletRequest # getRemoteUser()를 사용할 수 있어야합니다. 이것이 가능한가? 아니면 Spring Security와 같은 컨테이너 레벨 이상이 필요합니까? 클라이언트 측 세션 관리를위한 기존 라이브러리가 있습니까?
이것은 솔루션을 확장 가능하게하기 때문에 그가 원하지 않는 것입니다. 나는 이것이 유일한 방법이라고 생각합니다. –
인증 상태 저장소를 갖고 싶습니다. 그리고 저는이 상태를 서버 측에 저장하고 싶지 않습니다. HTTP 기본 인증과 같은 것을 염두에두고 있지만 (OpenID를 지원하는 등) 더 유연 해지고 싶습니다. – deamon