XE 3 (Xpressengine 3) - 요청한 기능을 실행할 수 있는 권한이 없습니다. (AccessDeniedHttpException)

XE 3 (Xpressengine 3) 를 사용하다 보면 특정 게시판, 사이트에 접근할 때 아래 이미지를 본 적이 있을 것이다.

커스텀 플러그인을 제작하다 보면 제공하는 기능 중 몇몇 기능은 특정 권한을 만족하는 사람만 이용할 수 있도록 제한해야 하는 경우가 있습니다.

이때, 코어와 동일한 결과를 제공해 사용자에게 연속성을 보장하고 싶다는 생각이 들었다.

또한 동일한 Exception을 사용해 다른 플러그인 개발자가 빠르게 코드를 이해했으면 좋겠다는 생각이 들어서 찾아보았습니다.

 

AccessDeniedHttpException 위치: (\core\src\Xpressengine\Support\Exceptions\AccessDeniedHttpException.php)

class AccessDeniedHttpException extends HttpXpressengineException
{
    /**
     * @var string
     */
    protected $message = 'xe::accessDenied';

    /**
     * @var int
     */
    protected $statusCode = Response::HTTP_UNAUTHORIZED;

    /**
     * getStatusCode
     *
     * @return int
     */
    public function getStatusCode()
    {
        return $this->statusCode;
    }

    /**
     * getHeaders
     *
     * @return array
     */
    public function getHeaders()
    {
        return $this->headers;
    }
}


 

화면에 출력되는 문구를 바꾸고 싶다면 `관리자 페이지 > 설정 > 다국어 설정` 페이지에서  `accessDenied` 로 검색한 후 수정하고 싶은 값을 입력합니다.

 

다 입력했다면 `저장 버튼`을 클릭해주면 변경된 값이 저장되며 그 후에는 입력된 메세지가 화면에 노출됩니다.


 

아래는 기본으로 설정되어 있는 메세지입니다.

'accessDenied' => [
    'ko' => '요청한 기능을 실행할 수 있는 권한이 없습니다.',
    'en' => 'You do not have permission to perform the requested function.',
],
  • share