2010-12-28 3 views
3

우리는 꽤 표준 설정으로 봄 보안 응용 프로그램을 보유하고 있습니다. 현재 우리는 첫 번째 세션이 로그 아웃되거나 만료 될 때까지 동일한 주체에 의한 추가 로그인을 거부하는 원칙 당 1 세션 만 허용합니다 (maximumSessions = 1, excpeptionIfMaximumExceeded = true).동시 로그인으로 세션 대체 알림

주체가 다른 세션에서 현재 활성 로그인으로 두 번째로 로그인 할 때 첫 번째 세션이 무효/교체되도록 변경하고 싶습니다. 이는 제공된 스프링 보안 동시 세션 제어 전략을 사용하여 쉽게 수행 할 수 있지만 사용자에게 경고하는 방법을 파악하는 데 문제가 있습니다. 사용자의 세션이 대체되면 세션은 로그 아웃 처리기에 의해 무효화됩니다. 다음 요청은 쿼리 문자열에 오류 코드가있는 로그인 페이지로 리디렉션됩니다. 그러나이 리디렉션을 가져 오는 요청이 이미지 또는 기타 프로그래밍되지 않은 호출 인 경우이를 처리 할 수 ​​없습니다.

사용자를 세션이있는 inbetween 상태에 두어야하는 것처럼 보이지만 만료되어 원래 세션을 바꿀 의도가 없다면 다시 로그인해야합니다. 그러나 나는 이것을하는 좋은 방법을 보지 못한다.

어딘가에 이런 설정의 예가 있습니까?

답변

1

자바 스크립트에서 폴링 메커니즘을 사용하여 세션이 무효화 될 때 사용자에게 알릴 생각이 있으십니까? 이렇게하면 세션이 유효하지 않으며 양식이나 텍스트 영역을 부분적으로 채운 경우 새로 고칠 기회가 있음을 알게됩니다.

로그인 할 때도 사용할 수 있습니다. 다른 세션이 활성 상태이고 로그인을 무효로 할 것인지 확인하도록하는 경우 로그인 후에 단계를 추가 할 수 있습니다.

일반적으로 인증이 부울이어야하므로 단계 사이에 필요하지 않습니다. 그들은 인증되었거나 그들은 arent. inbetween 영역은 모든 사례를 처리하기가 더 어려울 수 있습니다.

+0

우리는 현재 시간 초과로 인해 만료 된 세션에 대한 폴링 메커니즘을 사용합니다. 로그인시 다른 단계를 밟아서 처리 할 수 ​​있지만 UI 사이드에서 축출 된 세션을 깨끗하게 처리하는 데 더 관심이 있습니다. 보안이 실제로 부울이어야한다는 데 동의하지만 "마술처럼"다시 돌아가는 세션을 원하지 않습니다. 무효 세션에 대한 마지막 요청이 요청에 의해 캐치 된 경우 로그인 화면, 즉 반환 상태 (예 : 이미지 또는 스크립트 포함)를 처리 할 수 ​​없습니다. – HonkHonkHonk

관련 문제