스프링 로그인 세션 예제

LoginController 클래스를 만들고 세션에 사용자 개체를 저장할 @SessionAttributes 이 클래스에 추가했습니다. 다음 단계를 사용하여 이 봄 4 보안 간단한 로그인 예제를 개발하고 탐색하십시오. 이 모든 것은 응용 프로그램 서버가 실패할 때 세션을 유지 관리하는 것입니다. 인증 프로세스를 실행하기 전에 스프링 보안은 요청 간에 보안 컨텍스트를 저장하는 필터를 실행합니다. 컨텍스트는 기본적으로 HTTP 세션을 저장소로 사용하는 전략인 HttpSessionSecurityContextRepository에 따라 저장됩니다. 따라서 노드 가 노드 그룹에 장애가 발생하더라도 최종 사용자(sticky-session)가 발견한 중단 없이 노드 그룹의 다른 서버를 사용할 수 있습니다. URL에 세션 정보를 노출하는 것은 보안 위험이 증가하고 있습니다(2007년 7위부터 2013년 OWASP 상위 10개 목록에 2개 배치). 다음은 Redis 서버에 저장된 세션 정보입니다. 구현에 대한 더 많은 예가 훌륭할 것입니다. 이 스프링 웹 응용 프로그램을 실행하려면 서블렛 3.1.0 컨테이너가 있는 스프링 4 및 Java 8 환경을 지원하는 웹 컨테이너가 필요합니다.

동시 세션 제어 지원을 사용하도록 설정하는 첫 번째 단계는 web.xml: NOTE:- @EnableWebSecurity = @EnableWebMVCSecurity + 추가 기능에 다음 리스너를 추가하는 것입니다. 이것이 @EnableWebMVCSecurity 개의 어노미가 스프링 4.x 프레임워크에서 더 이상 사용되지 않는 이유입니다. 스프링 세션에 대한 또 다른 기능은 동일한 브라우저에서 여러 로그인에 사용할 수 있다는 것입니다. 이 기능은 동일한 자격 증명 집합을 허용하는 여러 응용 프로그램을 빌드할 때 특히 유용합니다. 이 기능을 단일 사인온이라고 합니다. 스프링 시큐리티로 로그인/인증을 구현하려면 org.springframework.security.core.core.userdetails.userdetails.userDetails.UserDetails.UserDetails.UserDetailsService 인터페이스 /로그인 POST 컨트롤러를 정의하지 않습니다. 성공 페이지는 세션을 제거하고 다시 로그인 페이지를 엽니 다 마지막으로, 봄 세션이 목적을 위해 유사한 속성을 지원하더라도 언급하는 것이 중요합니다 (spring.session.timeout), 그 지정되지 않은 경우 자동 구성은 대체됩니다 우리가 처음 언급 한 속성의 가치. 이봐 모센 – 당신의 질문에 관한 몇 가지 주의해야 할 것들. 첫 번째 – 쿠키와 httpsession는 한 가지 또는 다른 유형의 관계가 없습니다. 실제로 세션은 일반적으로 클라이언트 측 쿠키와 함께 작동합니다.

둘째 – 상태 비수기 인증 메커니즘을 고려 하는 경우 – 다음 httpsession 이동 하는 방법, httpsession 상태 이기 때문에. 상태 비저장은 어떤 종류의 httpsession가 없으며 모든 요청과 함께 자격 증명을 보내기만 하면 됩니다. 몇 가지를 정리 희망 – 나는 더 당신이 몇 가지 추가를 할 것이 좋습니다 것입니다, 깊이 … 자세히 보기 » 이제 스프링 컨테이너에 대한 모든 구성이 준비되었습니다. 이해의 용이성을 위해, 나는 서블렛과 JSP의 일반 J2EE를 사용했다. 브라우저의 요청은 아래의 서벌릿 : 사용자 정의 서벌렛 클래스로 이동합니다.