로그인 서버가 별도로 있을 경우, 멀티도메인에서 어떻게 로그인 정보를 유지하는 것이 좋을까요?

2013-03-12 15:11

도메인이 서로 다른 상황인데,

로그인 서버를 별도로 둘 경우....

spring, spring security 사용중인데.

로그인 서버를 별도로 둔 후

서로 다른 도메인에서 해당 로그인 서버를 통하여 로그인 처리하려고 합니다.

OAuth말고, 이 문제를 어떻게 해결하는 것이 좋을까요?

아..분명 예전에 좋은 방법을 알고 있었는데...... 기억이 안납니다.. T_T

나빠진 머리

3개의 의견 from SLiPP

2013-03-12 16:55

지난 회사(archeage.com)에서 개발한 경험을 공유하면 다음과 같습니다.

인증은 spring security 기능을 활용했고요. cookie를 활용해서 처리했습니다. cookie에 인증 관련 모든 정보를 담지는 않았고요. 인증 키 값을 하나 발급해서 이 놈을 cookie에 암호화해서 넣었습니다. 그리고 각 요청마다 이 암호화한 값을 decoding해서 유효한 키 값인지를 검증하는 방식을 사용했습니다. key값을 암호화하는 부분은 인증 서버에 있고요. 각각의 도메인에서는 docoding해서 유효한 키 값인지를 검증하는 부분이 있었습니다. spring security 활용하면 remember me 기능도 쉽게 구현할 수 있었습니다.

2013-03-13 21:15

전 예전에 이런 상황을 SSO로 해결했습니다. 중간에 인증 상태를 유지하는 SSO 서버를 두고 모든 서비스가 이 서비스를 중심으로 인증 정보를 공유하는 구조였는데 대략 cosign과 비슷한 방식이었습니다.

http://weblogin.org/overview.shtml

요즘은 워낙 많은 SSO 솔루션이 오픈소스로 나와서 선택하기 좋은 상황 같습니다. 정확한 건 아니지만 CAS가 표준처럼 취급되는 분위기 같더군요.

http://www.jasig.org/cas

Spring Security도 CAS를 지원합니다.

http://static.springsource.org/spring-security/site/docs/3.0.x/reference/cas.html

PS. 저도 CAS는 적용해보지 않았다는 게 반전 -_-);

의견 추가하기