Authority权限验证类对模块的验证
程序员文章站
2024-01-28 15:25:10
...
使用的是ThinkPHP自带的Authority权限类!
ThinkPHP版本是3.1.3的
使用的是ThinkPHP自带的Authority权限类!ThinkPHP版本是3.1.3的
我要实现的是根据模块名分配权限,当然,这个可以扩展到操作名。
假如我有这些模块文件:
那么 think_auth_rule表的内容差不多应该是这样的:
比如,我的登录用户的uid=9.
think_auth_group_access 表中有 uid=9 ,group=6;
think_auth_group 表中有 id=6,title="宇宙管理员",rules="4,5,8";
那么,我只要再模块文件CommAction.class.php中,添加:
如果访问id是10,11,12,13的模块,就会跳转到失败,提示没有权限的页面了~
现在我用这个权限类遇到的问题是:think_auth_rule表中的内容需要我手动去添加,这块是属性开发的,如果能自动生成就好了。
ThinkPHP版本是3.1.3的
使用的是ThinkPHP自带的Authority权限类!ThinkPHP版本是3.1.3的
我要实现的是根据模块名分配权限,当然,这个可以扩展到操作名。
假如我有这些模块文件:
那么 think_auth_rule表的内容差不多应该是这样的:
比如,我的登录用户的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{
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:
class activityAction extends CommAction{
//操作方法
}
?>
就这样,当我访问think_auth_rules中id是4,5,8模块的时候,就可以正常访问;如果访问id是10,11,12,13的模块,就会跳转到失败,提示没有权限的页面了~
现在我用这个权限类遇到的问题是:think_auth_rule表中的内容需要我手动去添加,这块是属性开发的,如果能自动生成就好了。
AD:真正免费,域名+虚机+企业邮箱=0元
推荐阅读
-
Authority权限验证类对模块的验证
-
从零开始实现asp.net MVC4框架网站的用户登录以及权限验证模块 详细教程
-
Authority权限验证类对模块的验证
-
Authority.class.php 修改待验证的权限$name如果权限列表里面不存在则默认有该权限
-
Authority.class.php 修改待验证的权限$name如果权限列表里面不
-
开源,自己写的一个权限验证类 支持通配符 验证更方便
-
Authority.class.php 修改待验证的权限$name如果权限列表里面不存在则默认有该权限
-
开源,自己写的一个权限验证类 支持通配符 验证更方便
-
Authority.class.php 修改待验证的权限$name如果权限列表里面不
-
从零开始实现asp.net MVC4框架网站的用户登录以及权限验证模块 详细教程