ホームページ >PHPフレームワーク >ThinkPHP >thinkphp でのモジュール権限の割り当て

thinkphp でのモジュール権限の割り当て

尚
転載
2020-05-23 09:06:253179ブラウズ

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 管理者", 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はoschina.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。