diff --git a/app/Config/Routes.php b/app/Config/Routes.php index b55672c..de3f432 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -46,7 +46,7 @@ $routes->group('ecommerce', ['namespace' => 'App\Controllers'], static function $routes->group('cli', ['namespace' => 'App\Controllers\CLI'], function ($routes) { }); // authGuard는 App\Config\Filters.php의 $aliases에 선언한 이름이어야 함 -$routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'authFilter:master,director,cloudflare,manager'], static function ($routes) { +$routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'authFilter:manager'], static function ($routes) { $routes->get('/', 'Home::index'); $routes->group('user', static function ($routes) { $routes->get('', 'UserController::index'); diff --git a/app/Filters/AuthFilter.php b/app/Filters/AuthFilter.php index 983b284..e76c6da 100644 --- a/app/Filters/AuthFilter.php +++ b/app/Filters/AuthFilter.php @@ -2,9 +2,9 @@ namespace App\Filters; +use CodeIgniter\Filters\FilterInterface; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; -use CodeIgniter\Filters\FilterInterface; class AuthFilter implements FilterInterface { @@ -28,9 +28,8 @@ class AuthFilter implements FilterInterface // 로그인을 했으면 if (session()->get(SESSION_NAMES['ISLOGIN'])) { $auth = session()->get(SESSION_NAMES['AUTH']); - // dd($auth); - // 회원 ROLE이 필요ROLE 목록에 존재하지 않으면(ACL) - if (!in_array($auth[AUTH_FIELDS['ROLE']], $arguments)) { + // 회원 ROLES이 필요ROLE($arguments[0]) 목록에 존재하지 않으면(ACL) + if (!in_array($arguments[0], explode(DEFAULTS['DELIMITER_ROLE'], $auth[AUTH_FIELDS['ROLE']]))) { return redirect()->to('/login')->with( 'return_message', sprintf(