CI4에서 매번 페이지 이동시 세션 체크 아웃이 되어 있는지 확인하는 기능을 추가하고 싶습니다.
CI3 때는 아래의 코드를 사용하여 hooks를 만들었는데, CI4에서는 events로 한다라는 정보만 알고 어떻게 작업해야할지 감이 안옵니다.
/application/hooks/logs.php
function checkPermission() {
$CI =& get_instance();
if (isset($CI->allow) && (is_array($CI->allow) === false OR in_array($CI->router->method, $CI->allow) === false)) {
if (1) {
redirect('/account/signin?next=' . urlencode($CI->uri->ruri_string()));
}
}
}
이벤트 정의는 app/Config/Events.php 파일에 하시면 됩니다.
페이지 진입시 세션 유무를 확인하는거라면 pre_system 이벤트를 사용하시면 됩니다.
Events::on('pre_system', function (...$params) { . . . });메뉴얼 링크 : http://ci4doc.cikorea.net/extending/events.html