検索
ホームページphp教程php手册Auth权限类使用示例

看了下官网上还没有一个Auth权限类实例应用,今天抽空写了下,希望对大家有所帮助

数据库如下
mc_admin_group

Field Type Allow Null Default Value
id mediumint(8) UNSIGNED No
title char(100) No
status tinyint(1) No 1
rules char(80) No

mc_admin_group_access

Field Type Allow Null Default Value
uid mediumint(8) UNSIGNED No
group_id mediumint(8) UNSIGNED No

mc_admin_menu

Field Type Allow Null Default Value
id smallint(6) No
name char(40) No
title varchar(50) No
condition varchar(60) No
pid smallint(6) No 0
g char(20) No
m char(20) No
a char(20) No
data char(30) No
listorder smallint(6) No 0
display enum('1','0') No '1'
status enum('1','0') No '1'

AdministratorAction.class.phpclass AdministratorAction extends Action{<br>     /**<br>      * 初始化<br>      */<br>     public function _initialize(){<br>         parent::_initialize();<br>         if($this->isLogin()){<br>             $this->checkRule();<br>         }<br>     }<br> <br>     /**<br>      * 判断是否登录<br>      * @return bool<br>      */<br>     public function isLogin(){<br>         if(!session(C('ADMIN_KEY'))){<br>             $this->redirect(C('ADMIN_GATEWAY'));<br>         }<br>         return true;<br>     }<br> <br>     /**<br>      * 检测是否有权限<br>      * @return bool<br>      */<br>     public function checkRule(){<br>         if( in_array(GROUP_NAME,array('Admin')) && in_array(MODULE_NAME,array('Index')) || session(C('ADMINISTRATOR'))) return true;<br>         $ruleName = '';<br>         $menu = S('menu')?S('menu'):D('AdminMenu')->cache_menu();<br>         foreach($menu as $v){<br>             if(GROUP_NAME == $v['g'] && MODULE_NAME == $v['m'] && ACTION_NAME == $v['a']){<br>                 $ruleName = $v['name'];<br>             }<br>         }<br>         $auth = new Auth();<br>         if(!$auth->check($ruleName,session(C('ADMIN_KEY')))){<br>             $this->error(L('LANG_NO_PERMISSION'),U(C('ADMIN_GATEWAY')));<br>         }<br>     }<br> }

AD:真正免费,域名+虚机+企业邮箱=0元

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター