は、ThinkPHP に付属の Authority 権限クラスを使用します。 ThinkPHP のバージョンは 3.1.3
実現したいのは、モジュール名に基づいてアクセス許可を割り当てることですが、これは操作名に拡張することももちろん可能です。
これらのモジュール ファイルがある場合:
think_auth_rule テーブルの内容はほぼ次のようになります:
たとえば、ログイン ユーザーの 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 サイトの他の関連記事を参照してください。