spring security 세션 변경 현상
- 작성자 :
- 박*규
- 작성일 :
- 2010-12-09 22:44:58
- 조회수 :
- 4,358
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
spring security 로 로그인을 처리하는 중 default-target-url로 redirect 시 세션ID가 변경되는 현상으로
정상적인 로그인이 이루어지지 않습니다.
WAS(JEUS)의 세션 쿠키 아이디를 아래와 같이 설정하였습니다
이는 SSO를 처리하기 위한 것입니다.
<session-config>
<session-cookie>
<jsessionid-name>IPAP2SES</jsessionid-name>
<version>0</version>
<path>/</path>
<max-age>-1</max-age>
<secure>false</secure>
</session-cookie>
</session-config>
아래는 spring security 설정 부분입니다.
<http access-denied-page="/ipa/cmm/sec/ram/accessDenied.do" path-type="regex" lowercase-comparisons="false" session-fixation-protection="none">
<form-login login-processing-url="/j_spring_security_check"
authentication-failure-url="/failLogin.do?login_error=-1"
default-target-url="/actionMain.do"
login-page="/index.jsp?flag=L" />
<anonymous/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/logout.jsp" />
<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="false" expired-url="/index.jsp" />
</http>
spring security 로 로그인을 처리하기 위해선 꼭 JSessionID를 사용해야 하는지
아님 위와 같은 상황일 경우 해결 방법이 있는지 도움이 필요합니다.
정상적인 로그인이 이루어지지 않습니다.
WAS(JEUS)의 세션 쿠키 아이디를 아래와 같이 설정하였습니다
이는 SSO를 처리하기 위한 것입니다.
<session-config>
<session-cookie>
<jsessionid-name>IPAP2SES</jsessionid-name>
<version>0</version>
<path>/</path>
<max-age>-1</max-age>
<secure>false</secure>
</session-cookie>
</session-config>
아래는 spring security 설정 부분입니다.
<http access-denied-page="/ipa/cmm/sec/ram/accessDenied.do" path-type="regex" lowercase-comparisons="false" session-fixation-protection="none">
<form-login login-processing-url="/j_spring_security_check"
authentication-failure-url="/failLogin.do?login_error=-1"
default-target-url="/actionMain.do"
login-page="/index.jsp?flag=L" />
<anonymous/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/logout.jsp" />
<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="false" expired-url="/index.jsp" />
</http>
spring security 로 로그인을 처리하기 위해선 꼭 JSessionID를 사용해야 하는지
아님 위와 같은 상황일 경우 해결 방법이 있는지 도움이 필요합니다.
A
안녕하세요.. 박대규님..
우선.. spring security를 쓰기 때문에 jsessionid를 사용하는 것은 아닙니다.
대부분 WAS가 session을 유지하는 방법이 cookie-based session 방식으로 session에 대한 키값(jsessionid)은 client의 cookie로 담아두고.. 이 값을 통해서 서버의 세션정보와 연결시키는 방법입니다.
따라서 세션을 사용하시려면 jsessionid는 container(WAS)에 의해 사용됩니다.
(Spring Security를 사용하지 않고.. 일반 세션으로 사용자 정보를 유지하시는 경우도 동일한 문제점이 발생됨 - jsessionid 값은 브라우져가 닫히지 않은 이상 유지되어야 함)
위의 경우는 해당 WAS쪽에 문의하시는 것이 도움이 될 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
우선.. spring security를 쓰기 때문에 jsessionid를 사용하는 것은 아닙니다.
대부분 WAS가 session을 유지하는 방법이 cookie-based session 방식으로 session에 대한 키값(jsessionid)은 client의 cookie로 담아두고.. 이 값을 통해서 서버의 세션정보와 연결시키는 방법입니다.
따라서 세션을 사용하시려면 jsessionid는 container(WAS)에 의해 사용됩니다.
(Spring Security를 사용하지 않고.. 일반 세션으로 사용자 정보를 유지하시는 경우도 동일한 문제점이 발생됨 - jsessionid 값은 브라우져가 닫히지 않은 이상 유지되어야 함)
위의 경우는 해당 WAS쪽에 문의하시는 것이 도움이 될 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.