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 用户授权访问控制,用户权限访问控制功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器主机启动不显示,服务器主机不启动怎
- 下一篇: 生日快乐模板php,可会有人跟我说句生日