php 用户授权访问控制,用户权限访问控制功能
摘要:<?php
namespace app\admins\controller;
use think\Controller;
use Util\SysDb;
class Home extends Base{
public function index(){
&nbs<?php
namespace app\admins\controller;
use think\Controller;
use Util\SysDb;
class Home extends Base{
public function index(){
$role = $this->db->table('admin_groups')->where(array('gid'=>$this->_admin['gid']))->item();
if($role){
$role['rights'] = $role['rights']?json_decode($role['rights'],true):[];
}
if($role['rights']){
$where = 'mid in('.implode(',', $role['rights']).') and ishidden=0 and status=0';
$menus = $this->db->table('admin_menus')->where($where)->cates('mid');
$menus && $menus = $this->gettreeitems($menus);
}
$data['menus'] = $menus;
$data['role'] = $role;
return $this->fetch('',$data);
}
public function welcome(){
return $this->fetch();
}
private function gettreeitems($items){
$tree = [];
foreach ($items as $item) {
if(isset($items[$item['pid']])){
$items[$item['pid']]['children'][] = &$items[$item['mid']];
}else{
$tree[] = &$items[$item['mid']];
}
}
return $tree;
}
}html>
欢迎
body{margin: 0px;}
.header{width: 100%;height: 50px;line-height: 50px;background: #01AAED;color:#ffffff;}
.title{margin-left: 20px;font-size: 20px;}
.userinfo{float: right;margin-right: 10px;}
.userinfo a{text-decoration: none;color: #ffffff;}
.menu{width:200px;background: #333744;position: absolute;}
.main{position: absolute;left: 200px;right: 0px;}
.layui-collapse{border: none;}
.layui-colla-item{border-top: none;}
.layui-colla-title{background: #42485b;color: #ffffff;}
.layui-colla-content{border-top: none;padding: 0px;}
后台管理系统
{$admin.username}【{$role.title}】退出
{volist name="$menus" id="vo"}
{$vo.title}
{volist name="vo.children" id="cvo"}
{$cvo.title}
{/volist}
{/volist}
layui.use(['element','layer'], function(){
var element = layui.element;
$ = layui.jquery;
layer = layui.layer;
resetMenuHeight();
});
// 重新设置页面高度
function resetMenuHeight(){
var height = document.documentElement.clientHeight - 50;
$('#menu').height(height);
}
// 重新设置主操作区高度
function resetMainHeight(obj){
var height = parent.document.documentElement.clientHeight - 53;
$(obj).parent('div').height(height);
}
// 菜单点击
function menufire(obj){
// 获取url
var src = $(obj).attr('src');
// 设置iframe的src
$('iframe').attr('src',src);
}
// 退出登录
function logout(){
// 退出前确认
layer.confirm('确定要退出吗?',{
icon:3,
btn:['确定','取消']
},function(){
$.get('/index.php/admins/account/logout',function(res){
if(res.code>0){
layer.msg(res.msg,{'icon':2});
}else{
layer.msg(res.msg,{'icon':1});
setTimeout(function(){window.location.href='/index.php/admins/account/login';},1000);
}
},'json');
});
}
namespace app\admins\controller;
use think\Controller;
use Util\SysDb;
class Base extends Controller{
public function __construct(){
parent::__construct();
$this->_admin = session('admin');
if(!$this->_admin){
header('Location:/index.php/admins/account/login');
exit;
}
$this->assign('admin',$this->_admin);
$this->db = new SysDb;
// 判断用户是否有权限
$group = $this->db->table('admin_groups')->where(array('gid'=>$this->_admin['gid']))->item();
if(!$group){
$this->request_error('对不起,您没有权限');
}
$rights = json_decode($group['rights']);
// 当前访问的菜单
$controller = request()->controller();
$method = request()->action();
$res = $this->db->table('admin_menus')->where(array('controller'=>$controller,'method'=>$method))->item();
if(!$res){
$this->request_error('对不起,您访问的功能不存在');
}
if($res['status'] == 1){
$this->request_error('对不起,该功能已禁止使用');
}
if(!in_array($res['mid'],$rights)){
$this->request_error('对不起,您没有权限');
}
}
private function request_error($msg){
if(request()->isAjax()){
exit(json_encode(array('code'=>1,'msg'=>$msg)));
}
exit($msg);
}
}
批改老师:欧阳批改时间:2019-06-10 09:17:18
老师总结:完成的不错,后台cms管理系统,最重要的就是权限。继续加油。
php 用户授权访问控制,用户权限访问控制功能相关推荐
- 用命令创建表空间、用户,并为用户授权、收回权限。
oracle中如何删除用户? Oracle中使用DROP USER来删除用户,如果使用DROP USER CASCADE那么用户的对象也同时被删除掉.为了达到删除用户的效果而又不影响对用户下的对象的使 ...
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- mysql中给用户添加密码_MySql中添加用户,新建数据库,用户授权,删除用户,修改密码...
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- MySQL新建用户,授权,删去用户,修改密码操作
MySQL新建用户,授权,删去用户,修改密码操作 首先要声明一下:一般环境下,修改MySQL密码,授权,是需要有mysql里的root职权范围的. 注:本操作是在WIN号令提示符下,phpMyAd ...
- mysql 移除权限_MySQL用户授权及删除权限
▼ CREATE DATABASE IF NOT EXISTS `wordpress`; GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localh ...
- MySQL数据库的用户授权_查看权限
文章目录 Mysql 的权限分类 权限数据的存储 每种权限的修改策略和作用范围 刷新权限 MySQL 提供的操作权限 授权语法格式 参考示例 授予用户拥有某个数据库的全部权限 授予用户拥有所有数据库的 ...
- mysql撤销用户授权_mysql用户授权及撤销
mysql数据库服务在不做授权的情况下只允许数据库管理员从数据库服务器本机登录. 默认只有数据库管理员从数据库服务器本机登录才有授权权限 mysql -u root -p (本机登录mysql服务器) ...
- Oracle数据库的常用命令(创建用户、用户授权、用户登录、表空间、备份还原 )
Oracle数据库的常用命令 Oracle数据库的常用命令 一.创建用户及授权相关命令 二.用户登录相关命令 三.表空间相关命令 四.备份的还原 Oracle数据库的常用命令 一.创建用户及授权相关命 ...
- MySQL中新建用户,新建数据库,用户授权,删除用户,修改密码的相关操作
测试环境:WIN32 mysql5.0.45 注:本操作是在WIN命令提示符下,phpMyAdmin同样适用. 用户:phplamp 用户数据库:phplampDB 1.新建用户. //登录MYSQ ...
最新文章
- OpenCV(基础补充)图像二值化
- OpenMP入门教程(二)reduce sum
- Ant Design Vue select下拉列表设置默认值
- 在C语言中以编程的方式获取函数名
- JAVA 实现FTP功能_Java实现FTP上传下载功能
- Vue 中 export及export default的区别
- 2019届[月考01-03]高三理科数学试题参考答案
- 理解最小生成树与权值最小边无关
- 设计与实现分离——面向接口编程(OO博客第三弹)
- 2020阿里云线上峰会预告 | 凌云时刻
- csol显示服务器,csol进不了游戏服务器
- autocad2013安装闪退_Win10系统打开AutoCad闪退的两种修复方法
- 修改select2未搜索到数据时的提示语
- 软件工程领域国际会议列表
- 电脑能正常上网,但是显示无Internet
- PMP证书真的有用吗?
- mlir toy 教程(2)
- EXCEL 2013中“定义名称”的命名规则
- 开源库UniTask笔记
- 基于汇编语言的DS18B20温度传感器设计
热门文章
- 用了自定义Banner后,SpringBoot瞬间变的高大上了...
- Java 200+ 面试题补充 ThreadLocal 模块
- CentOS安装运行NodeJS框架Express
- Oracle内置角色connect与resource的权限
- 使用onclick跳转到其他页面/跳转到指定url
- linux清除cpu,解决kswapd0 CPU占用率高的问题-清除病毒
- 用php实现随机点名,使用javascript做的一个随机点名程序
- Linux下调tcp最大参数
- angularjs php 实例下载,AngularJS Eclipse 1.2.0 插件下载
- oracle的insert语句clob,.Net 操作 Oracle CLOB类型字段 INSERT 超长数据