스프링 시큐리티 관련 질문
- 작성자 :
- 권*오
- 작성일 :
- 2015-04-04 11:52:18
- 조회수 :
- 1,709
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
초급개발자입니다. 스프링 시큐리티에 관해 더 궁금한 것이 있어 문의드립니다.
스프링 시큐리티에서 session 중복 처리를 했을때 다른 브라우저로 로그인을 시도하게 되면
Maximum sessions of 1 for this principal exceded 메세지가 팝업되는데
1. 브라우저가 같은 경우에는 브라우저 창을 새로 열어 로그인을 하게 되면 동일한 session을 사용하게 되는 이유가 궁금합니다.
현상 ) Internet Explorer 에서 로그인 하면 다른 IE창에서 로그인하면 로그인이됨(sessionID가 동일함). IE에서 Chrome브라우저로 로그인 할경우 메세지 팝업이 뜨면서 로그인 되지않음.
2. Maximum sessions of 1 for this principal exceded 개발자가 원하는대로 메세지내용을 바꿀수 있을까요?
3. 정상적으로 로그아웃을 하지 않고 브라우저 창을 끄게되면 session이 파기 되지않아 다른 브라우저로 로그인시 팝업메세지가 뜨게되는데 브라우저에서 닫기버튼을 클릭했을때 서버쪽으로 Event를 보내줄수 있는 방법이 있을까요? 아니면 javascript라도?
4. session이 공유되는 현상이라면 session hijacking이 방어가 안된거 같은데 방어하기위해서는 https를 사용해야 하는건가요?
5. 관련해서 https 적용관련 질문인데
<security:port-mappings>
<security:port-mapping http="8080" https="8443"/>
</security:port-mappings>
<security:intercept-url pattern="/*.do" requires-channel="https"/> << 이런식으로 선언해주면 http로 들어온 url을 https로 변환해 주는걸로 알고 있는데 왜 수행이 안되는지... 이런걸로 질문드려서 죄송합니당
스프링 시큐리티에서 session 중복 처리를 했을때 다른 브라우저로 로그인을 시도하게 되면
Maximum sessions of 1 for this principal exceded 메세지가 팝업되는데
1. 브라우저가 같은 경우에는 브라우저 창을 새로 열어 로그인을 하게 되면 동일한 session을 사용하게 되는 이유가 궁금합니다.
현상 ) Internet Explorer 에서 로그인 하면 다른 IE창에서 로그인하면 로그인이됨(sessionID가 동일함). IE에서 Chrome브라우저로 로그인 할경우 메세지 팝업이 뜨면서 로그인 되지않음.
2. Maximum sessions of 1 for this principal exceded 개발자가 원하는대로 메세지내용을 바꿀수 있을까요?
3. 정상적으로 로그아웃을 하지 않고 브라우저 창을 끄게되면 session이 파기 되지않아 다른 브라우저로 로그인시 팝업메세지가 뜨게되는데 브라우저에서 닫기버튼을 클릭했을때 서버쪽으로 Event를 보내줄수 있는 방법이 있을까요? 아니면 javascript라도?
4. session이 공유되는 현상이라면 session hijacking이 방어가 안된거 같은데 방어하기위해서는 https를 사용해야 하는건가요?
5. 관련해서 https 적용관련 질문인데
<security:port-mappings>
<security:port-mapping http="8080" https="8443"/>
</security:port-mappings>
<security:intercept-url pattern="/*.do" requires-channel="https"/> << 이런식으로 선언해주면 http로 들어온 url을 https로 변환해 주는걸로 알고 있는데 왜 수행이 안되는지... 이런걸로 질문드려서 죄송합니당
A
안녕하세요. 권민오님.
1. 브라우저가 같은 경우에는 브라우저 창을 새로 열어 로그인을 하게 되면 동일한 session을 사용하게 되는 이유가 궁금합니다.
현상 ) Internet Explorer 에서 로그인 하면 다른 IE창에서 로그인하면 로그인이됨(sessionID가 동일함). IE에서 Chrome브라우저로 로그인 할경우 메세지 팝업이 뜨면서 로그인 되지않음.
> 인터넷 세션 특성상 동일한 session을 사용하게 됩니다.
2. Maximum sessions of 1 for this principal exceded 개발자가 원하는대로 메세지내용을 바꿀수 있을까요?
> Spring내부 내장 메세지 입니다.
3. 정상적으로 로그아웃을 하지 않고 브라우저 창을 끄게되면 session이 파기 되지않아 다른 브라우저로 로그인시 팝업메세지가 뜨게되는데 브라우저에서 닫기버튼을 클릭했을때 서버쪽으로 Event를 보내줄수 있는 방법이 있을까요? 아니면 javascript라도?
> 표준프레임워크에서는 업무 로직은 따로 가이드 하지 않습니다.
4. session이 공유되는 현상이라면 session hijacking이 방어가 안된거 같은데 방어하기위해서는 https를 사용해야 하는건가요?
> https는 http보안을 강화하여 사용자 페이지 요청을 암호화, 복호화 하여 처리 하는 개념의 프로토콜로 알고 있습니다.
5. 관련해서 https 적용관련 질문인데
<security:port-mappings>
<security:port-mapping http="8080" https="8443"/>
</security:port-mappings>
<security:intercept-url pattern="/*.do" requires-channel="https"/> << 이런식으로 선언해주면 http로 들어온 url을 https로 변환해 주는걸로 알고 있는데 왜 수행이 안되는지... 이런걸로 질문드려서 죄송합니당
> spring-security-context.xml 상단에 위치하면 될꺼 같습니다
1. 브라우저가 같은 경우에는 브라우저 창을 새로 열어 로그인을 하게 되면 동일한 session을 사용하게 되는 이유가 궁금합니다.
현상 ) Internet Explorer 에서 로그인 하면 다른 IE창에서 로그인하면 로그인이됨(sessionID가 동일함). IE에서 Chrome브라우저로 로그인 할경우 메세지 팝업이 뜨면서 로그인 되지않음.
> 인터넷 세션 특성상 동일한 session을 사용하게 됩니다.
2. Maximum sessions of 1 for this principal exceded 개발자가 원하는대로 메세지내용을 바꿀수 있을까요?
> Spring내부 내장 메세지 입니다.
3. 정상적으로 로그아웃을 하지 않고 브라우저 창을 끄게되면 session이 파기 되지않아 다른 브라우저로 로그인시 팝업메세지가 뜨게되는데 브라우저에서 닫기버튼을 클릭했을때 서버쪽으로 Event를 보내줄수 있는 방법이 있을까요? 아니면 javascript라도?
> 표준프레임워크에서는 업무 로직은 따로 가이드 하지 않습니다.
4. session이 공유되는 현상이라면 session hijacking이 방어가 안된거 같은데 방어하기위해서는 https를 사용해야 하는건가요?
> https는 http보안을 강화하여 사용자 페이지 요청을 암호화, 복호화 하여 처리 하는 개념의 프로토콜로 알고 있습니다.
5. 관련해서 https 적용관련 질문인데
<security:port-mappings>
<security:port-mapping http="8080" https="8443"/>
</security:port-mappings>
<security:intercept-url pattern="/*.do" requires-channel="https"/> << 이런식으로 선언해주면 http로 들어온 url을 https로 변환해 주는걸로 알고 있는데 왜 수행이 안되는지... 이런걸로 질문드려서 죄송합니당
> spring-security-context.xml 상단에 위치하면 될꺼 같습니다