isLoggedIn()) { $urlStack = session()->get('url_stack', []) ?? []; $urlStack[] = current_url() . ($request->getUri()->getQuery() ? "?" . $request->getUri()->getQuery() : "");; session()->set('url_stack', $urlStack); return redirect()->to(URLS['LOGIN'])->with('error', '로그인을하셔야합니다.'); } //User Role 비교 // 회원 ROLES이 필요ROLE($arguments[0]) 목록에 존재하지 않으면(ACL) $auth = session()->get(SESSION_NAMES['AUTH']); $roles = explode(DEFAULTS['DELIMITER_ROLE'], $auth['role']); if (!isset($auth['role']) || !in_array($arguments[0], $roles)) { return redirect()->back()->with('error', "회원[{$auth['name']}]님은 접속에 필요한 권한{$arguments[0]}이 없습니다. "); } } /** * Allows After filters to inspect and modify the response * object as needed. This method does not allow any way * to stop execution of other after filters, short of * throwing an Exception or Error. * * @param RequestInterface $request * @param ResponseInterface $response * @param array|null $arguments * * @return mixed */ public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) { // } }