메뉴 건너뛰기

permission 사용법

감조차 잡기 어려워서 염치불구 질문드립니다.

 

sms 플러그인이 있고

SmsController.php 컨트롤러가 있고

이 안에 show()메쏘드 안에서 aa.blade.php 를 부른다고 하겠습니다.

 

aa.blade.php안에서

매니저 그룹만 보여지는 부분을

@can("sms_send")

 ...

@endcan

이렇게 제어한다 하면

 

이걸 사용하기 위해서 Permission 관련 작업해야할것은 무엇이 있을까요??

 

1. 플러그인의 plugin.php에서 install() 내에 

$handler = $this->getHandler(); ///////////// ????
$grant = new Grant();

$grant->set('sms_send', [
    Grant::RATING_TYPE => Rating::MEMBER,
    Grant::GROUP_TYPE => [],
    Grant::USER_TYPE => [],
    Grant::EXCEPT_TYPE => [],
    Grant::VGROUP_TYPE => []
]);
app('xe.permission')->register($handler->getKeyForPerm(), $grant);

** 여기서 getKeyForPerm ??

여기서 퍼미션 어떻게든 설정을 해놓고

 

2. SmsController.php 에서

$smsPermission = new smsPermissionHandler(app( ??????? ));
$smsPermission->addGlobal();
if (Gate::allows(
    CcMailPermissionHandler::ACTION_LIST,
    new Instance($ccmailPermission->name($this->instanceId))
)) {
    throw new AccessDeniedHttpException;
}

 

이런식인것도 같은데.....(위 코드는 짜집기라서 전혀 의미 없을듯합니다)

감을못잡겠습니다. 도움부탁드려도 될까요

  • share