묻고답하기

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



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

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

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


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

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 남기남
그랜드큐브 댓글 삭제가 안되는데 이유를 모르겠네요.... [2] 2014.06.23 by 그랜드큐브
씨디맨 스케치북 5 때문에 질문드립니다. [4] file 2014.06.23 by 씨디맨
아라방 로그인폼으로 로그인시 오류창 문제 해결바랍니다. [2] 2014.06.23 by 아라방
감사77 FTP 설정 비밀번호 문의요? [4] 2014.06.23 by 수용맘~*
디쟈이너 파일첨부가안되는데 문제가몰까요 [3] 2014.06.23 by 디쟈이너
디아네이라 코어 1.7.5.3에서 액션 스크립트로 php에 보낸 변수가 안 읽혀요. 도와주세요ㅠㅠ [5] 2014.06.23 by LI-NA
sukmin0 XE 설치 질문 [3] file 2014.06.23 by HSJI
bumdolee [질문]상단메뉴중 일부를 그림으로 바꿀때 로컬네비게이션도 바뀜 [2] file 2014.06.23 by bumdolee
MMI 검색 후 출력되는 사항을 변경하고 싶습니다.  
ahiku 2012서버에 xe설치하려고 하는데요 file  
x으앜e '로그인 실패' 기록이 특정 아이피 대역에서 많이 발생합니다. [1] file 2014.06.23 by Double'U'
완전초보5 제로보드 게시판에 업로드가 안되요. [2] 2014.06.23 by Double'U'
애니즌 php에서 한번에 파일 업로드 처리하면 부담이 많이 될까요? [6] 2014.06.23 by 애니즌
골드로드 홈페이지 수리 원합니다. [2] 2014.06.23 by KrteamENT
geogeo123 비밀번호 걸린 비밀글 제3자가 볼수있는 방법은 없나요? [8] 2014.06.23 by LI-NA
xe마스터하는그날까지 신디케이션질문  
아놔닉네임중복짜증 후이즈 폼메일 발송 from 추가 관련 문의..  
정도길 에디터 비회원 글쓰기시 이메일,홈페이지 제거방법 [2] 2014.06.23 by 정도길
도라에몽x몽에라도 게시판 제목 을 가져오려면 어떻게 해야 하나요?  
조아라8558 덧글 랜덤익명 적용했는데 아이디가 계속 같게나와요 [2] 2014.06.23 by 조아라8558