您好,登錄后才能下訂單哦!
這篇文章主要介紹thinkphp中如何根據模塊名分配權限,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
使用的是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="宇宙管理員",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表中的內容需要我手動去添加,這塊是屬性開發的,如果能自動生成就好了。
以上是“thinkphp中如何根據模塊名分配權限”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。