묻고답하기

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



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

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

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


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

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 남기남
safddsf 추천/비추천 애드온오류 [1] 2013.03.11 by haha0
도토리맘 공식홈과 같은 breadcrumb 을 어떻게 해야하는지 [1] file 2013.03.11 by Sulli
madab 현재 운영중인 사이트 오류 확인 부탁드립니다. [1] 2013.03.11 by 푸시아
검정고내 로그인위젯스킨팝업div 문제...  
정동석744 사진게시판에 사진이 안올라가는 현상 [2] file 2013.03.11 by 정동석744
gusdk8318 xe 게시판 데이터 제로보드로 이전할수 있나요?? [1] 2013.03.11 by sejin7940
5duck! sejin7940 님의 작성댓글보기 관련 질문드립니다. [1] file 2013.03.11 by sejin7940
러브탱 처음 셋팅후 스크립트 ...오류  
천제아 로그인 방식을 변경했더니 관리자 계정 로그인이 안됨 [1] 2013.03.11 by 송동우
지난해11월 관리자 페이지에 들어 갈 수 있는 부관리자 만들 수 있나요? [2] 2013.03.11 by 지난해11월
천제아 모바일 다중도메인 질문 [2] 2013.03.11 by Love_Park
고독의요새 기존 게시판을 메뉴에 연결할 수는 없나요? [1] 2013.03.11 by 송동우
MOSAD 애드온 완전삭제 하는법좀 가르쳐 주세요... [2] 2013.03.11 by 송동우
witchtail 확장변수를 이용한 자동 비밀글... [1] 2013.03.11 by 푸시아
송문열1 고수님들!문의드려요. 갤리러게시판에서 게시판 이미지를 관리자가 수시로 변경할수 있는 [1] file 2013.03.11 by OEZ
spernic 아이콘 관련 질문입니다.  
수로 게시판 모듈에 srl값들의 리스트를 넘겨주면 게시판 나오게.  
귀여운유니 카테고리 글자수 줄이기 [1] 2013.03.11 by 푸시아
david7 관리자 페이지 접속 오류입니다 (고수님들 도와주세요) [1] 2013.03.11 by 푸시아
왕초보당 nmail xe 회원연동 [2] 2013.03.11 by 푸시아