php项目中的RBAC权限
来源:互联网 发布:网络文学评论期刊 编辑:程序博客网 时间:2024/06/06 08:35
首先我们需要三张表
1.权限表
2.角色表
3.用户表
在登录的方法执行下列代码
public function index(){ $admin=D('admin'); $verify = new \Think\Verify(); if (IS_POST) { $username=I('username'); $password=md5(I('password')); $checkverify=I('checkverify'); $info = $admin->where(['username'=>$username])->find(); if ($verify->check($checkverify)) { if ($info['password']==$password) { session('id',$info['id']); session('username',$info['username']); $this->getpri($info['roleid']); $this->success('登录成功...',U("Index/index")); }else{ $this->error('用户名或密码错误!'); } }else{ $this->error('验证码错误!'); } return false; } $this->display(); } public function getpri($roleid){ $role=D('role'); $roles=$role->find($roleid); $pri=D('privilege'); if($roles['pri_id_list']=='*'){ session('privilege','*'); }else{ $pris=$pri->field('pri_name,CONCAT(mname,"/",cname,"/",aname)')->where("id IN({$roles['pri_id_list']})")->select(); $ret = array(); foreach ($pris as $k => $v){ $ret[]=$v['CONCAT(mname,"/",`cname`,"/",aname)']; } session('privilege',$ret); } }
构造函数
<?phpnamespace Admin\Controller;use Think\Controller;class CommonController extends Controller { public function __construct(){ parent::__construct(); if (!session('id')) { $this->error('请先登录!',U('Login/index')); } if(MODULE_NAME=='Admin' && CONTROLLER_NAME=='Index'){ return true; } if(session('privilege')!='*' && !in_array(MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME,session('privilege'))){ $this->error('没有该权限!'); } }}
阅读全文
0 0
- php项目中的RBAC权限
- RBAC在PHP中的应用
- php-人员权限管理(RBAC)
- php-人员权限管理(RBAC)
- yii 基于php的Rbac权限控制
- RBAC权限模型——项目实战
- RBAC权限模型——项目实战
- RBAC权限模型——项目实战
- Thinkphp3.2.3中的RBAC权限验证
- Thinkphp3.2.3中的RBAC权限验证
- RBAC权限
- rbac权限
- RBAC php
- rbac(php)
- RBAC,权限管理系统
- 角色权限,RBAC
- RBAC权限管理系统
- J2EE-RBAC权限管理
- ESP8266-SDK开发入坑(一)-各种配置
- 极限元语音算法专家刘斌:基于深度学习的语音生成问题
- svn log显示最新几行
- Python 图片爬虫实战(使用 urllib 库)
- Android UI效果之绘图篇(一)
- php项目中的RBAC权限
- 代码干货 | spring中自定义Event事件的使用和浅析
- 移动端开发——吸顶效果的解决方案
- java-IO流: Path和Files详解
- 相似图片搜索的原理
- [BZOJ]2150: 部落战争 二分图匹配
- 在oracle中的日期类型与String类型
- Java 并发编程 内存模型 volatile关键字 -- JAVA 进阶
- 几种常见排序算法的Java实现及时间复杂度