묻고답하기

질문 그대로 회원연동 관련질문입니다.



################################################################################

# 엔메일과 외부회원모듈 연동방법

################################################################################


-. 외부회원모듈 연동을 위한 엔메일 환경설정 변경.

nmail/include/global_var.php 

134~139 line)

// 외부회원모듈 연동 사용여부. (Y, N)

$G_SYS['SSO_ISUSE'] = 'Y';


// 외부회원모듈과의 연동처리시 보안을 위한 보안키입니다.(엔메일과 외부회원모듈에서 값이 동일해야 함.)

// 외부에 유출되지 않도록 유의하시고 설치후 반드시 아래 값을 임의의 문자열(32자내외)로 바꾸시기 바랍니다.

$G_SYS['SSO_KEY'] = '임의의문자열을여기에입력하시면됩니다';


// 외부회원모듈 가입/수정/탈퇴 링크.(외부회원모듈의 해당 링크를 따로 지정할 수 있습니다.)

$G_SYS['SSO_JOIN_URL'] = ''; // 기존 사이트의 회원가입 주소

$G_SYS['SSO_MODIFY_URL'] = ''; // 기존 사이트의 회원정보수정 주소

$G_SYS['SSO_OUT_URL'] = ''; // 기존 사이트의 회원탈퇴 주소

$G_SYS['SSO_PASSWDFIND_URL'] = ''; // 기존 사이트의 비밀번호찾기 주소

$G_SYS['SSO_NOT_URL_MSG'] = "외부회원모듈을 사용하도록 설정되었습니다.\\n\\n웹메일의 회원관리 기능을 사용하실 수 없습니다.";

$G_SYS['SSO_JOIN_LEVEL'] = $G[LEVEL][user]; // 외부회원모듈에서 가입시 부여될 레벨.   '가입대기'는 'user'대신 'wait'로 변경.



-. URL로 전달되는 값의 처리시 유의사항.

: '비밀번호, 처리후 이동할 URL'등 전달되는 값에 특수문자가 들어갈 경우를 대비해야함.

: PHP의 경우 urlencode()함수를 사용해서 해당 값을 인코딩시킨후 전달해야함.

ex) $join_url = "sso_login.php?user=" . urlencode("UserID") . "&passwd=" . urlencode("1234");



-. 연동인증키 생성 방법.

: 불법적인 접근을 방지하기 위해 관리자가 입력해둔 include/global_var.php 파일의 $G_SYS['SSO_KEY'] 값과

처리할 사용자 아이디를 조합해 MD5 로 암호화한 값을 전달하는 것입니다.

ex) 

$sso_key = md5('UserID' . '____SSO_KEY____');

$join_url = "sso_login.php?user=" . urlencode("UserID") . "&passwd=" . urlencode("1234") . "&sso_key=" . $sso_key;

: 위와 같이 아이디를 조합하게되므로 사용자마다 고유의 암호화키가 부여되어 다른 사용자에 대한 불법적인 접근을 막을 수 있습니다.


-. 외부모듈에서 URL을 통한 로그인 방법.

url) http://mail.domain.com/sso_login.php?name=이름&user=아이디&passwd=비밀번호&sso_key=연동인증키



-. 외부모듈에서 URL을 통한 로그아웃 방법.

url) http://mail.domain.com/sso_logout.php?user=아이디&url=처리후 되돌아갈 주소&sso_key=연동인증키



-. 외부모듈에서 URL을 통한 회원 가입 방법.

url) http://mail.domain.com/sso_join.php?domain=domain.com&name=이름&user=아이디&passwd=비밀번호&url=처리후 되돌아갈 주소&sso_key=연동인증키



-. 외부모듈에서 URL을 통한 회원정보변경(이름, 비밀번호) 방법.

url) http://mail.domain.com/sso_modify.php?domain=domain.com&name=이름&user=아이디&passwd=비밀번호&url=처리후 되돌아갈 주소&sso_key=연동인증키



-. 외부모듈에서 URL을 통한 회원 탈퇴 방법.

url) http://mail.domain.com/sso_out.php?domain=domain.com&user=아이디&url=처리후 되돌아갈 주소&sso_key=연동인증키


-. 특정 유저의 새로운 메일 갯수를 가져오는 방법.

: 소켓을 열어 아래 URL에 접속하면 메일 갯수만 '12'처럼 숫자만 출력되는데 이 값을 가져와서 출력하면 됩니다.

: 샘플파일인 sso_newmail.sample.php 소스를 참고하시면 됩니다.

url) http://mail.domain.com/sso_out.php?domain=domain.com&user=아이디&sso_key=연동인증키



################################################################################

# 주소창에서 보여지는 사용자의 비밀번호를 알 수 없는 값으로 변경하고 싶을 경우.

################################################################################


-. 로그인, 회원가입, 회원정보변경 처리시의 주소의 마지막에 "&passwd_enc=Y"를 추가한다.


-. 기존 사이트에서 비밀번호 값을 넘길때 BASE64_ENCODE(), URLENCODE()함수를 이용해서 넘긴다.

기존) $pwd = "1234";

url) http://mail.domain.com/sso_login.php?user=아이디&passwd=1234&sso_key=연동인증키

=>

변경) $pwd = URLENCODE(BASE64_ENCODE("1234"));

url) http://mail.domain.com/sso_login.php?user=아이디&passwd=MTIzNA%3D%3D&sso_key=연동인증키&passwd_enc=Y



################################################################################

# 로그인시 전달되는 사용자의 비밀번호가 이미 암호화되어 있어서 실제 값을 알 수 없을 경우.

################################################################################


-. 엔메일 환경설정파일에서 기존에 사용하던 비밀번호의 암호화 방식을 미리 지정해둔다.

: 비밀번호의 암호화 방식은 지정후 회원이 추가되면 바꿀 수 없으니 정확히 파악한후 수정하시기 바랍니다.

nmail/include/global_var.php

$G_SYS[PWD_ENC] = "MD5";

$G_SYS[PWD_ENC] = "MYSQL"; // MySQL 의 Password()함수.

$G_SYS[PWD_ENC] = "CRYPT";

$G_SYS[PWD_ENC] = "ORACLE_FUNC_ENCRYPT";


-. 외부모듈에서 'URL을 통한 로그인 방법'을 다음처럼 바꿔서 비밀번호가 이미 암호화된 상태임을 표시한다.

url) http://mail.domain.com/sso_login.php?user=아이디&passwd=비밀번호&sso_key=연동인증키

=>

url) http://mail.domain.com/sso_login.php?user=아이디&passwd=비밀번호&sso_key=연동인증키&is_pwd_enc=1



################################################################################


앞에 색칠한 곳의 설정은 했습니다.... 그런데 뒤에 얘기는 무슨 말인지 통 알수가 없어서 쉽게 풀어서 답좀 부탁드립니다.

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
짜장면5 게시물에서 신고 여부 확인하기 [1] 2013.03.09 by 송동우
서기에요 출석부모듈 연속출석일수 표시하고싶습니다~ [1] 2013.03.09 by 서기에요
서기에요 출석부 교차색상 어떻게 해야하나요? [2] 2013.03.09 by 송동우
짜장면5 이미지 보는 방법 문의 [1] 2013.03.09 by 송동우
디테일크로키 확장변수는 가로 배열이 안되나요. [1] 2013.03.10 by KANTSOFT
짜장면5 이미지 닫힘 방식 문의 [1] 2013.03.10 by 송동우
조용선186 게시물을 분석해서 차트를 만드려고 합니다.  
짜장면5 홈페이지에 파비콘 넣기 [1] 2013.03.10 by OEZ
rosery 이미지 이름.. [1] file 2013.03.10 by OEZ
OEZ 모듈 분류있자나요... [2] 2013.03.10 by 송동우
후후후418 시작페이지를 위젯페이지로 지정하는 방법이 무엇인가요? [1] 2013.03.10 by 송동우
대권 이미지업로드만 따른 서버에할수있나요?  
키스미베이베 (재업)매뉴에 새글표시가 작동이안되네요 도와주세요 [1] 2013.03.10 by 딸꾹질
peter3639 설치과정에 대하여  
사랑살이 메뉴 만들기  
332213313141121 제로보드 게시물 자동이동 및 공지사항 등록 도와주세요ㅠㅠ [1] 2013.03.10 by 송동우
천제아 코어 업데이트 과정 중 멈춤  
천제아 홈페이지 로그인 ID<->이메일 전환 문제 [1] 2013.03.10 by 송동우
3456787654 비밀글..ㅠㅠㅠ [1] 2013.03.10 by 송동우
개맨 닷홈 도메인 기간이 지나고.. [1] 2013.03.10 by OEZ
왕초보당 nmail xe 회원연동 [2] 2013.03.11 by 푸시아
david7 관리자 페이지 접속 오류입니다 (고수님들 도와주세요) [1] 2013.03.11 by 푸시아
귀여운유니 카테고리 글자수 줄이기 [1] 2013.03.11 by 푸시아
수로 게시판 모듈에 srl값들의 리스트를 넘겨주면 게시판 나오게.  
spernic 아이콘 관련 질문입니다.  
송문열1 고수님들!문의드려요. 갤리러게시판에서 게시판 이미지를 관리자가 수시로 변경할수 있는 [1] file 2013.03.11 by OEZ
witchtail 확장변수를 이용한 자동 비밀글... [1] 2013.03.11 by 푸시아
MOSAD 애드온 완전삭제 하는법좀 가르쳐 주세요... [2] 2013.03.11 by 송동우
고독의요새 기존 게시판을 메뉴에 연결할 수는 없나요? [1] 2013.03.11 by 송동우
천제아 모바일 다중도메인 질문 [2] 2013.03.11 by Love_Park