>  기사  >  PHP 프레임워크  >  thinkphp의 모듈 권한 할당

thinkphp의 모듈 권한 할당

尚
앞으로
2020-05-23 09:06:253152검색

thinkphp의 모듈 권한 할당

ThinkPHP와 함께 제공되는 Authority 권한 클래스를 사용하고 있습니다! ThinkPHP 버전은 3.1.3

제가 달성하고 싶은 것은 모듈 이름을 기반으로 권한을 할당하는 것입니다. 물론 이는 작업 이름까지 확장될 수 있습니다.

다음 모듈 파일이 있는 경우:

thinkphp의 모듈 권한 할당

think_auth_rule 테이블의 내용은 거의 다음과 같아야 합니다.

thinkphp의 모듈 권한 할당

예를 들어 로그인한 사용자의 uid=7.

think_auth_group_access 테이블에는 uid가 있습니다. =9 ,group=6;

think_auth_group 테이블에는 id=6,title="Universe Manager",rules="4,5,8";

그러면 CommAction.class 모듈 파일을 추가하면 됩니다. php :

class CommAction extends Action{
    public function __construct(){
        parent::__construct();
        $this->assign('waitSecond',2);
        $this->checkRight();
    }


    private function checkRight(){
        import('ORG.Util.Authority');
        $auth=new Authority();
        $r = $auth->getAuth(MODULE_NAME,session('S_USER_ID'));
        if(!$r){
            $this->error('没有权限!');
        }
    }
}

그런 다음 다른 모듈 파일이 이 파일을 상속하도록 합니다(예: ActivityAction.class.php:

<?php
class activityAction extends CommAction{
//操作方法
}
?>

) 이렇게 하면 think_auth_rules에서 ID가 4, 5, 8인 모듈에 액세스할 수 있습니다. ;

ID 10, 11, 12, 13으로 모듈에 액세스하면 실패하고 권한이 없다는 메시지가 표시되는 페이지로 이동합니다~

이제 이 권한 클래스를 사용할 때 직면하는 문제는 다음과 같습니다. : think_auth_rule 테이블의 내용을 수동으로 추가해야 합니다. 이 부분은 속성별로 개발하면 좋을 것 같습니다.

추천 튜토리얼: "TP5"

위 내용은 thinkphp의 모듈 권한 할당의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 oschina.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제