Heim  >  Artikel  >  php教程  >  Authority权限验证类对模块的验证

Authority权限验证类对模块的验证

WBOY
WBOYOriginal
2016-06-07 11:44:041387Durchsuche

使用的是ThinkPHP自带的Authority权限类!
ThinkPHP版本是3.1.3的
使用的是ThinkPHP自带的Authority权限类!ThinkPHP版本是3.1.3的

我要实现的是根据模块名分配权限,当然,这个可以扩展到操作名。

假如我有这些模块文件:
Authority权限验证类对模块的验证


​那么 think_auth_rule表的内容差不多应该是这样的:

Authority权限验证类对模块的验证

​比如,我的登录用户的uid=9.

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{<br>     public function __construct(){<br>         parent::__construct();<br>         $this->assign('waitSecond',2);<br>         $this->checkRight();<br>     }<br> <br> <br>     private function checkRight(){<br>         import('ORG.Util.Authority');<br>         $auth=new Authority();<br>         $r = $auth->getAuth(MODULE_NAME,session('S_USER_ID'));<br>         if(!$r){<br>             $this->error('没有权限!');<br>         }<br>     }<br> }然后,再让其它的模块文件继承这个文件,比如,ActivityAction.class.php:<?php <br /> class activityAction extends CommAction{<br> //操作方法<br> }<br> ?>就这样,当我访问think_auth_rules中id是4,5,8模块的时候,就可以正常访问;

如果访问id是10,11,12,13的模块,就会跳转到失败,提示没有权限的页面了~

现在我用这个权限类遇到的问题是:think_auth_rule表中的内容需要我手动去添加,这块是属性开发的,如果能自动生成就好了。

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:js 简单画笔Nächster Artikel:PHP实现即时网站截图[转]