SharedIT | 묻고 답하기(AMP)

SSO 통합 로그인 구축에 대한 조언을 얻고 싶습니다.

안녕하세요.

사내에서 여러 시스템(그룹웨어, 인사프로그램, ERP 등) 을 사용하는데

각 시스템별로 개별 로그인을 해야하니 사용자들이 많이 불편해합니다. 

그래서 통합 로그인 사이트에서 1회 로그인을 하면 

그룹웨어, 인사프로그램, ERP 로  자동 로그인이 될 수 있는 서비스를 구축하고 싶습니다.


그룹웨어, 인사프로그램, ERP 는 각각 다른 회사(외부솔루션)에서 구축하였으며, 

다른 언어로 개발되어 있습니다. 

통합 로그인 사이트는 ASP.NET 기반으로 만들고 싶은데, 

자체 개발이 가능한지, 가능하다면 어떤식으로 진행을 해야할까요..

아니면 외부 솔루션을 구입할 수 있는지? 궁금합니다.


감사합니다.


Tags : 태그가 없습니다.

7개의 답변이 있습니다.

그저멍하니
  0 추천 | 3년 이상 전

제가 쓰던 방법은 

login.asp 라는 소스가 있으면 

SSO하는 소스는 login_sso.asp 라고 새로 만들고, 파라미터 값을 넘기거나

DB에 특정 테이블에 값을 바꿔주는 식으로 연동처리하여 만들었었습니다.


jinijinijini | 약 3년 전

답변 감사드립니다. 쉽게 접근하는 방법이 비용을 덜 들이고 좋은 것 같습니다. 

Genghis Khan
  0 추천 | 3년 이상 전

다중 서버와 관리 프로그램이 많다면 직접 개발보다

시간적 , 업무적, 관리작 측면으로볼때  솔루션 도입을 하시는게 맞다고 봅니다


jinijinijini | 약 3년 전

네, 근데 견적을 받아보니 생각했던 것 보다 많은데다가 유지보수업체하고도 진행해야하는 부분까지 검토하다보니 솔루션 도입은 못하게 되었습니다 ㅠㅠㅠ 

답변 감사드립니다. 

쿨가이
  0 추천 | 3년 이상 전

자체개발이나 운영관리는 쉽지 않구요.

보통 AD사용하시면 AD중심으로 통합 SSO지원하는 솔루션이 있습니다.

관련 제품으로 알아보시는게 어떨까요?

jinijinijini | 약 3년 전

네 답변 감사드립니다. 

빨간신발
  0 추천 | 3년 이상 전

SSO를 자체 개발이 불가능은 아니지만... 쉬운 문제가 아니죠...

단독으로 사용되는 시스템이 아니고 타 시스템과 연동되어야 하므로...

로그인만 처리되면 되는 것이 아니고..

타 시스템에서 사용자 로그인 여부를 체크하고

사용자 정보를 넘겨주는 넘겨받는 로직

세션 유효성 체크 방식

로그아웃에 대한 처리 

암호화 통신 등

타 시스템과 연동되어하는 부분을 

각각의 시스템에서 접근이 가능한 인터페이스로 api를 만들어주셔야 합니다.

api도 php, java, .net 등 각각의 언어에 맞게 구현해주셔야 합니다.

사용자 로그인 정보를 연동되면 각 시스템별로 세션을 유지하는 정책과 로그아웃에 대한 정책도 수립하여

각각의 시스템에 반영해야 합니다.

자체적으로 쉽게 할 수 있는 부분이 아닙니다.

그냥 솔루션 도입하시는 것을 추천합니다.

그리고 SSO 도입하시면서 2factor인증도 같이 진행하셔야 두번 작업을 안합니다.

SSO 도입예산을 잡으실 때 꼭 연동되는 각각의 시스템에 수정 비용도 포함하셔야 합니다.

jinijinijini | 약 3년 전

자세한 답변 감사드립니다!

양성환
  0 추천 | 3년 이상 전

언어가 다르다면 

SSO 솔루션을 이용하면 통합으로 가능 합니다. 

당연히 관련 업체는 굉장히 많습니다.

jinijinijini | 약 3년 전

네 생각보다 많더라고요 ㅎㅎ 답변 감사드립니다! 

wansoo
  0 추천 | 3년 이상 전

RPA 솔루션을 이용한다면 SSO 기능도 구현할 수 있을 것 같고...

직접 개발하려고 한다면....

C, C++, C#, Python, Java, ... 같은 언어로는 쉽지 않을 겁니다.

이미 개발되 실행되는 소프트웨어를 OS 관점, 슈퍼바이저 관점에서 인터페이스를 관리해야 하기 때문에 많은 기반 지식, 실력을 갖추고 있어야 가능할 것 같고요.

이런 용도로 소프트웨어를 아주 쉽게 만들수 있게 개발되어 있는 매크로 스크립트 언어가 있는데요.

AHK ( Auto Hot Key )가 그런 용도로 만들어진 개발 언어가 되겠고요.

사용하기도 쉽고해서 비 전문가들도 많이 이용하고 있을 정도 이고...

AHK를 이용해서 한번 개발해 보세요.

jinijinijini | 약 3년 전

AHK 를 알아보겠습니다. 답변 감사합니다! 

미생
  0 추천 | 3년 이상 전

저도 요즘 고민 많이 하는 방법이네요.

일단 제가 거쳐온 두개의 시스템에서 쓰는 방법이 조금씩 다르긴 했는데 이걸 SSO가 맞다고 해야 하나 하는 문제가 있습니다.

첫번째 케이스는 그룹웨어에서 로그인을 하고, 같은 ID를 ERP에 만들어주고(동기화도 제대로 안되는 문제가) ERP의 모듈을 열때 파라메타로 ID를 넘기는 아주 위험한 방법을 사용했었습니다. 파라메타만 바꾸면 해당 이용자 계정으로 접속이 가능한 방법이었는데, 차후에 방법을 조금 수정해서 파라메타 호출 값을 좀 변환처리해서 쓰도록 했었네요. - 별도의 로그인이 필요없었긴 한데 흠...

두번째 케이스는 현재 쓰고 있는 방식인데 ERP의 로그인을 할때 로그인 관련을 그룹웨어의 DB와 연결해서 View를 만들어두고, 해당 View의 ID, 패스워드는 MD5 값이 맞는지 비교한 뒤 넘겨버리는 방법입니다. 
- 문제라면 역시 새로 로그인을 해야 한다는 점이 좀 애매합니다.

요즘 고민중인 사항은 이번에 NAS를 새로 도입하면서 계정기반-그룹(팀)기반으로 셋업을 해야 하는데 이걸 개개별 ID를 매번 만들어주기도 복잡하거니와 패스워드 관리조차 애매해서 이걸 LDAP으로 구성하고 LDAP의 정보를 그룹웨어 측 데이터와 동기화를 시켜서 써볼까 연구중인데 마음만 먹고 계속 시도는 못하고 있습니다.

만능의 AD 이야기가 나오지만 기구축이 되지 않은 상태에서 AD를 쓰기엔 도입이나 구축비용이 만만치 않을 수 있을것 같아 고민이 많네요.

일단 SSO로 간다는건 단 한번의 로그인으로 가야 되기 때문에 로그인이 성공했을때의 세션값이나 데이터를 다른 모든 시스템이 해당 값이 있으면 로그인이 맞다는 판정을 내려주고 로그인 페이지를 호출하지 않거나 바로 넘겨준다는 이야기실텐데 그러려면 메인 데이터를 어디에 기준을 맞추고 거기에 로그인이 된 상태값을 가지고 판단하게 다른 시스템들까지 같이 로그인 부분 수정을 하시면 될것 같긴 합니다.

문제는 이게 다 동일한 Web기반이거나 하면 파라메타로 넘긴다거나 처리 방식을 바꾸면 되는데, 별도의 클라이언트 기반이라거나 다른 문제가 섞이면 또 쉽지가 않아지실것 같네요. 좋은 답변 얻으시길 희망합니다.

jinijinijini | 약 3년 전

답변 감사드립니다^^