Extra Form
PHP PHP 7.4
CMS Rhymix 2.0

라이믹스2 이메일인증 방법으로 회원가입시

이메일 인증이 완료되는 시점에서 외부db에 네이버/구글/ 외 분류 해서 저장하고 싶습니다.

 

이메일 인증이 완료되는 시점이

 

member.controller.php 에서 부분이 맞을까요..??

 

case 'email_address' :
                // Check managed Email Host
                if(MemberModel::isDeniedEmailHost($value))
                {
                    $emailhost_check = $config->emailhost_check;

                    $managed_email_host = lang('managed_email_host');

                    $email_hosts = MemberModel::getManagedEmailHosts();
                    foreach ($email_hosts as $host)
                    {
                        $hosts[] = $host->email_host;
                    }
                    $message = sprintf($managed_email_host[$emailhost_check],implode(', ',$hosts),'id@'.implode(', id@',$hosts));
                    return new BaseObject(0,$message);
                }

                // Check if duplicated
                $member_srl = MemberModel::getMemberSrlByEmailAddress($value);
                if($member_srl && $logged_info->member_srl != $member_srl ) return new BaseObject(0,'msg_exists_email_address');
                break;

  • profile
    https://github.com/rhymix/rhymix/blob/922025ae8ed5de58dd75d1cac20494eb25153f23/modules/member/member.controller.php#L1742-L1744

    메일 인증은 사용자가 메일로 보내진 procMemberAuthAccount act 링크를 클릭할때 진행되는데, 해당 act는 before와 after 트리거 둘다 제공합니다.

    즉 인증 완료 이후 시점인 member.procMemberAuthAccount 트리거의 after에서 코드가 실행될수 있도록 트리거를 등록하면 되겠습니다.
  • profile profile

    와 찾던 정보입니다 정말 감사합니다.

  • profile
    윗분이 알려주신대로 외부 모듈을 통해서 제작하시기 바랍니다.

    member의 경우 라이믹스에서도 아주 민감하게 보안취약점 또는 기능 추가 등등이 수시로 바뀌는 페이지입니다. 특히 최근패치 에서는 member모듈의 구조가 살짝 틀어지는 패치도 들어가 있었습니다.

    따라서 최대한 라이믹스팀이 제공해주는 파일을 수정하지 말고, 외부 모듈을 통해서 외부 테이블에 member_srl (primary_key), sns_type 칼럼을 생성하여 해당 부분에서 별도로 관리하시기 바랍니다.
  • profile profile

    아 어쩐지 전에 코어수정 했엇던게 이번에 확 바껴져 있어서 도통 적용을 못하겠더라고요.. 감사합니다!!

  • profile profile
    혹시 죄송하지만 트리거를 만들거나 해본적이 없어서 .. 참고할 메뉴얼 같은게 있을까요?

    $db_hostname =
    $db_user_id
    $db_password =
    $db_database =
    $db_port =
    $db_type = 'mysqli';
    $db_table =


    이런식으로 외부 db연결해서 정보 보내고 있엇어가지고요 ㅠㅠㅠ
  • profile profile
    외부 DB연결방식이나 그런건 스킨에서도 별로 추천드리지 않는 방식입니다. 자칫잘못 이용하면 해킹에 노출될 수 있는 사안이거든요.

    애드온 트리거 만들기 등등 여러가지 검색어를 통해서 애드온 개발 혹은 모듈개발지식을 쌓으셔야할 것 같네요.

    실제 코어에서도 위와 같이 무슨 변수들을 활용해서 디비를 직접 호출하는건..별로 좋지 않습니다.ㅎㅎ

    다만 최근에는 그렇게 하셔서 호출하셔서 쿼리문을 날리시는게 좋을 수 있는데 직접 호출하는경우는 그닥..별로 안좋습니다..-_-;;

    필요하시다면 제작의뢰를 하시는편이 더 나으실수 있겠습니다.
  • profile profile
    감사합니다.. 비용이 없어서 큰일이네요 ㅜㅜ