이 어플리케이션은 Xpressengine3(이하 XE3)의 플러그인 입니다.
이 플러그인은 XE3에서 '정보통신망 이용촉진 및 정보보호 등에 관한 법률 제 29조' 및 '동법 시행령 제 16조'에 의거 장기간동안 로그인을 하지 않은 사용자 계정을 회원 정보와 별도 분리하는 기능을 제공합니다.
이 플러그인을 사용하기 위해서는 먼저 이메일 전송 설정이 되어있어야 합니다.
- 휴면 계정 처리 예고: 장시간동안 로그인하지 않아 휴면처리 될 예정인 계정의 이메일으로 '휴면계정 처리 알림'을 보냅니다.
- 휴면계정 처리: 휴면처리 대상 계정을 휴면처리 합니다. 휴면처리된 계정의 정보는 별도 테이블에 저장되거나 영구삭제 됩니다.
- 휴면처리시 해당 계정의 이메일로 휴면처리 결과가 통보됩니다.
- 휴면처리된 계정으로 로그인이 시도될 경우, 휴면처리됐던 계정이 다시 복구됩니다.(단, 영구삭제된 계정은 복구 불가)
- 휴면계정을 수동으로 복구할 수 있습니다.
$ php artisan plugin:install freezer
- 관리자 > 플러그인 & 업데이트 > 플러그인 목록 내에 새 플러그인 설치 버튼 클릭
freezer
검색 후 설치하기
- 다음의 페이지에서 다운로드
- 프로젝트의
plugins
디렉토리 아래freezer
디렉토리명으로 압축해제 freezer
디렉토리 이동 후composer dump
명령 실행
플러그인 실행시 적용되는 기본 설정은 /plugins/freezer/config.php
에 저장되어 있습니다. 만약 기본 설정을 변경해서 사용하고 싶은 경우, /config/production/services.php
에 freezer
항목을 생성하고, 원하는 설정을 변경하면 됩니다.
/config/production/services.php
의 freezer
항목에 지정한 설정은 기본설정을 덮어 씌웁니다.
// config/production/services.php
<?php
return [
'freezer' => [
'timer' => 730, // 기본 타이머를 2년으로 변경
]
];
위 코드는 휴면계정 처리 기준이 되는 타이머를 1년(기본)에서 2년으로 변경하는 코드입니다. 타이머 이외에도 많은 설정이 존재하며, 위와 같은 방식으로 변경할 수 있습니다.
이 플러그인은 콘솔 명령어를 통해 작동합니다. 아래의 명령을 주기적으로 실행하십시오. 수동으로 실행하거나 crontab
또는 스케쥴러를 사용하여 하루에 1회씩 실행되도록 하십시오.
지정된 기간(기본 11개월)동안 로그인한 적이 없는 회원에게 이메일로 휴면계정 처리 예고 알림을 전송합니다.
php artisan freezer:notify
명령을 사용하십시오.
$ php artisan freezer:notify
Emails will be sent to 3 users. Do you want to execute it? (yes/no) [no]:
> yes
[2017.08.16 11:54:27] Emails were sent to 3 users for notify about freeze.
지정된 기간(기본 1년)동안 로그인한 적이 없는 회원을 휴면계정 처리합니다.
php artisan freezer:freeze
명령을 사용하십시오.
$ php artisan freezer:freeze
3 users will be frozen. Do you want to execute it? (yes/no) [no]:
> yes
[2017.09.16 11:59:16] 3 users ware frozen.
휴면처리된 계정을 수동으로 다시 복구할 수 있습니다.
php artisan freezer:unfreeze [USER_ID]
를 사용하십시오.
$ php artisan freezer:unfreeze aa972e8b-6a73-459a-af18-22e7991d43ad
'someone' users will be unfreezed. Do you want to execute it? (yes/no) [no]:
> yes
the user was unfreezed.
수동으로 복구하지 않더라도 휴면처리 된 사용자가 다시 로그인을 할 경우 자동으로 계정이 복구됩니다.
이 플러그인은 LGPL라이선스 하에 있습니다. https://opensource.org/licenses/LGPL-2.1