安装PHP怎么设置用户和群组,为Z-Blog群组设置新权限

本文最后由 森林生灵 于 2017/08/25 10:29:54 编辑

已知 Z-Blog 的权限设置的切入点 Filter_Plugin_Zbp_CheckRights ,但在其官方 WiKi 中搜索却什么说明也没有。为了更直观的了解系统群组的权限机制最好先安装一下 Z-Blog 角色分配器(Howl) 插件 https://app.zblogcn.com/?id=235 ,通过此插件我们可以直观的看到 Z-Blog 系统共有 6 个级别的群组,按权限高低依次为管理员组、网站编辑组、作者组、协作者组、评论者组、游客组,其相对应的权限级别依次为 1、2、3、4、5、6。

2017.8.25 更新:由于 Z-Blog 角色分配器(Howl) 插件也是切入点也是 Filter_Plugin_Zbp_CheckRights ,新权限设定此切入点在某种情况下会使得此插件失效,故新权限设定的切入点应先于 Filter_Plugin_Zbp_CheckRights 才可以,此处应使用 Filter_Plugin_Zbp_Load_Pre 设定新权限。

b1daf70e9f387d7fc4da9d5585e4a918.pngRegisterPlugin('Demo', 'ActivePlugin_Demo');

function ActivePlugin_Demo() {

Add_Filter_Plugin('Filter_Plugin_Zbp_Load_Pre', 'Demo_Zbp_Load_Pre');

Add_Filter_Plugin('Filter_Plugin_Cmd_Begin', 'Demo_Cmd_Begin');

Add_Filter_Plugin('Filter_Plugin_Login_Header', 'Demo_Login_Header');

}

function Demo_Zbp_Load_Pre() {

global $zbp, $actions;

// 操作名称,最大权限等级( 6 代表游客组所拥有的权限),操作简介

$arr = array(

array('action' => 'LostPWD', 'level' => 6, 'lang' => '忘记密码'),

array('action' => 'SignUp', 'level' => 6, 'lang' => '用户注册'),

);

foreach ($arr as $key => $value) {

$actions[$arr[$key]['action']] = $arr[$key]['level'];

$zbp->lang['actions'][$arr[$key]['action']] = $arr[$key]['lang'];

}

}

function Demo_Cmd_Begin() {

global $zbp;

switch (GetVars('act', 'GET')) {

// 忘记密码表单

case 'LostPWD':

// 访问 http://localhost/zblogphp/zb_system/cmd.php?act=LostPWD 时跳转

Redirect('login.php?act=LostPWD');

break;

// 用户注册表单

case 'SignUp':

//访问 http://localhost/zblogphp/zb_system/cmd.php?act=SignUp 时跳转

Redirect('login.php?act=SignUp');

break;

default:

break;

}

}

function Demo_LostPassword_Form() {

global $zbp;

// 鉴权,看当前用户所在群组是否有权执行 LostPWD 操作

if (!$zbp->CheckRights('LostPWD')) {

$zbp->ShowError(6);

die();

}

###

}

function Demo_SignUp_Form() {

global $zbp;

// 鉴权,看当前用户所在群组是否有权执行 SignUp 操作

if (!$zbp->CheckRights('SignUp')) {

$zbp->ShowError(6);

die();

}

###

}

function Demo_Login_Header() {

global $zbp;

// 拦截 login.php 登录页

$action = GetVars('act', 'GET');

switch ($action) {

// 重置密码表单

case 'LostPWD':

Demo_LostPassword_Form();

break;

// 用户注册表单

case 'SignUp':

Demo_SignUp_Form();

break;

default:

echo '';

}

}

function InstallPlugin_Demo() {

global $zbp;

###

}

function UninstallPlugin_Demo() {

global $zbp;

###

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值