묻고답하기
XE 회원가입(member) 모듈 관련 & 세션에러 관련 질문드립니다.
2014.03.13 10:18
안녕하세요.
기존에 XE(1.4.3 버젼) 기반으로 개발된 유료서비스 사이트 인데요.
어느 순간부터 회원가입시에 랜덤하게 세션에러가 발생하기 시작했습니다.
원인을 찾다가 레퍼런스도 안나오고해서 포기하고 그냥 회원가입부분을 뜯어고치려고(재개발) 하려고 했는데.
이게 회원가입부분(member) 모듈은 뜯어고치기가 쉽지 않더군요.
일단 module 내에 뷰(dispMemberSignUpForm2)와 컨트롤러(procMemberInsert2) 를 만들어 주었습니다.
그리고 로직은 변경 안한상태에서 새로 디자인한 회원가입 html 파일(signup_form2)을 입혔습니다.
그런데 이거또한 문제가 발생했네요 회원가입 등록을 적용했을때 권한없음이라고 나오네요.
추가 및 변경 파일(난다날다님의 회원가입 확장모듈이 설치된 상태)
/module/member
member.controller.php -> procMemberInsert2 함수 추가
member.view.php -> dispMemberSignUpForm2 함수 추가
/module/member/conf
module.xml -> 위에 뷰와 컨트롤러 등록
/module/member/skins (확장모듈 설치해서 그런지 tpl이 아니라 skins 폴더를 변경해줘야 하는거 같더군요.)
signup_form2 -> 추가
추가적으로 위에서 procFilter 는 기존꺼 동일하게 사용 (당연히 html파일에 필요한 form과 input 필드 다 넣어줌)
현재 이렇게 수정한 상태입니다.
혹시라도 member module 쪽 손대보신 고수님이나 위와 같은 문제 해결해보신분 계시면 조언 부탁드립니다.
그리고 추가적으로 질문드린다면. 위에 모듈 건드리는 문제로 해결이 안될 경우
아예 회원가입을 xe에서 독립적으로 만들어서 DB에 xe_member와 xe_member_group에 회원가입정보를 직접
넣도록 만드려고 하는데 이렇게 했을때 문제가 발생할 소지가 없는지 알고싶네요.
(로직은 기존 procMemberInsert 함수 보니 트랜잭션 걸고 xe_member, xe_member_group 같이 정보 넣어주고.
extra_vars만 serialize 전화번호 필드 만 해주면 될거 같습니다.)
댓글 4
-
GG
2014.03.13 11:44
-
시즈더데이
2014.03.13 12:33
답변 감사드립니다.
위에서 말씀드렸듯이 회원가입부분 수정작업 들어간 이유가 모듈의 세션에러발생해서 수정작업 들어갔습니다.
그리고 기존 모듈은 함수들은 건드리지 않은채 함수내에서 동일하게 복사해서 사용했던 건데 권한문제가 발생해서..
문제를 찾으려했지만 찾기가 쉽지않아서요.
천상 멤버 모듈을 필요한 함수들만 끌어다가 모듈 사용하지 말고 DB에 직접 데이터를 넣어야겠네요.
-
GG
2014.03.13 12:40
직접 디비에 입력하실 경우 시퀀스 넘버와 비번 암호화를 잘 해 주시면 될 것 같습니다.
-
시즈더데이
2014.03.13 13:33
넵 DB는 큐브리드라서 getNextSequence() 요거 쓰니 잘넘어옵니다.
암호화도 역시나 md5 써서 암호화 하네요.
덕분에 오후중에 금방 끝낼수 있을거 같습니다.
아 괜히 member 모듈 내에서 처리한다고 삽질했네요...ㅠㅠ
모듈 수정으로 인한 오류는 잘 모르겠구요.
커스텀 회원 가입은 말씀하신대로 member 모듈의 함수를 이용해서 진행하시면 됩니다.