首页 php教程 php手册 Authority.class.php 修改待验证的权限$name如果权限列表里面不

Authority.class.php 修改待验证的权限$name如果权限列表里面不

Jun 06, 2016 pm 07:35 PM
修改 权限 验证

ThinkPHP框架中自带权限认证类Authority.class.php。要把所有操作都加入到权限表这工作量太那啥了. 能实现仅把需要验证的操作加入权限表,如果待验证的权限在权限列表中不存在(总列表)则默认有该权限(已登录)。 虽然代码写的简单,不过还是挺实用。 ThinkPHP //

ThinkPHP框架中自带权限认证类 Authority.class.php。要把所有操作都加入到权限表这工作量太那啥了.
能实现仅把需要验证的操作加入权限表,如果待验证的权限在权限列表中不存在(总列表)则默认有该权限(已登录)。
虽然代码写的简单,不过还是挺实用。 ThinkPHP
    //获得权限$name 可以是字符串或数组或逗号分割, uid为 认证的用户id, $or 是否为or关系,为true是, name为数组,只要数组中有一个条件通过则通过,如果为false需要全部条件通过。
    //最后修改功能:待验证的权限$name如果权限列表里面不存在则默认有该权限
    public function getAuth($name, $uid, $relation='or') {
        if (!$this->_config['AUTH_ON'])
            return true;
        $authList = $this->getAuthList($uid);
        if (is_string($name)) {
            if (strpos($name, ',') !== false) {
                $name = explode(',', $name);
            } else {
                $name = array($name);
            }
        }
        //修改部分开始
        foreach($name as $key=>$val){
            if(!$this->isExistsRule($val)){
                unset($name[$key]);
            }
        }
        if(count($name)==0){
            return true;
        }
        //修改部分结束

        $list = array(); //有权限的name
        foreach ($authList as $val) {
            if (in_array($val, $name))
                $list[] = $val;
        }
        if ($relation=='or' and !empty($list)) {
            return true;
        }
        $diff = array_diff($name, $list);
        if ($relation=='and' and empty($diff)) {
            return true;
        }
        return false;
    }
    /**
     * @desc 判断数据库是否存在权限
     * @param string $name RuleName
     */
    public function isExistsRule($name){
        static $rule = array();
        if(!empty($rule[$name])){
            return $rule[$name];
        }
        $rule[$name] = M()->table($this->_config['AUTH_RULE'])->where(array('name'=>$name))->count();
        return $rule[$name];
    }
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

钉钉怎么修改群里的个人名称_钉钉修改群里个人名称方法 钉钉怎么修改群里的个人名称_钉钉修改群里个人名称方法 Mar 29, 2024 pm 08:41 PM

1、首先打开钉钉。2、打开群聊,点击右上角的三个点。3、找到我在本群的昵称。4、点击进入即可修改保存。

一键开启root权限(快速获取root权限) 一键开启root权限(快速获取root权限) Jun 02, 2024 pm 05:32 PM

可以让用户对系统进行更深入的操作和定制,root权限是一种管理员权限,在Android系统中。获取root权限通常需要一系列繁琐的步骤,对于普通用户来说可能不太友好、然而。通过一键开启root权限,本文将介绍一种简单而有效的方法,帮助用户轻松获取系统权限。了解root权限的重要性及风险拥有更大的自由度,root权限可以让用户完全控制手机系统。加强安全控制等,定制主题、用户可以删除预装应用。比如误删系统文件导致系统崩溃,过度使用root权限也存在风险、不慎安装恶意软件等,然而。在使用root权限前

微信好友辅助验证进行解封的详细方法 微信好友辅助验证进行解封的详细方法 Mar 25, 2024 pm 01:26 PM

1、打开微信进入后,点击搜索图标,输入微信团队,点击下方的服务进入。2、进入后,点击左下方的自助工具的选项。3、点击后,在上方的选项内,点击解封/申诉辅助验证的选项。

抖音蓝V可以改名字吗?企业抖音蓝V号名称修改步骤有哪些? 抖音蓝V可以改名字吗?企业抖音蓝V号名称修改步骤有哪些? Mar 22, 2024 pm 12:51 PM

抖音蓝V认证是企业或品牌在抖音平台上的官方认证,有助于提升品牌形象和可信度。随着企业发展战略的调整或品牌形象的更新,企业可能希望更改抖音蓝V认证的名字。那么,抖音蓝V可以改名字吗?答案是可以的。本文将详细介绍企业抖音蓝V号名称修改的步骤。一、抖音蓝V可以改名字吗?抖音蓝V账号是可以改名字的。根据抖音官方规定,企业蓝V认证账号在满足一定条件后,可以申请修改账号名称。一般来说,企业需要提供相关的证明材料,如营业执照、组织机构代码证等,以证明修改名称的合法性和必要性。二、企业抖音蓝V号名称修改步骤有哪

Win10睡眠时间修改技巧大揭秘 Win10睡眠时间修改技巧大揭秘 Mar 08, 2024 pm 06:39 PM

Win10睡眠时间修改技巧大揭秘作为目前广泛使用的操作系统之一,Windows10拥有睡眠功能,帮助用户在不使用电脑时节省电力并保护屏幕。然而,有时候默认的睡眠时间并不符合用户的需求,因此了解如何修改Win10睡眠时间就显得尤为重要。本文将揭示Win10睡眠时间修改的技巧,让您轻松自定义系统的睡眠设置。一、通过“设置”修改Win10睡眠时间首先,最简单的修

PHP 8 新特性:增加了验证和签名 PHP 8 新特性:增加了验证和签名 Mar 27, 2024 am 08:21 AM

PHP8是PHP的最新版本,为程序员带来了更多的便利和功能。这个版本特别关注安全性和性能,其中一个值得注意的新特性是增加了验证和签名功能。在本文中,我们将深入了解这些新的功能及其用途。验证和签名是计算机科学中非常重要的安全概念。它们通常用于确保传输的数据是完整和真实的。在处理在线交易和敏感信息时,验证和签名变得尤为重要,因为如果有人能够篡改数据,可能会对

闲鱼怎么修改已发布商品地址位置 闲鱼怎么修改已发布商品地址位置 Mar 28, 2024 pm 03:36 PM

在闲鱼平台发布商品时,用户可以根据实际情况自定义设置宝贝的地理位置信息,这样潜在买家就能更精准地掌握商品的具体所在地。一旦商品成功上架,若卖家的地理位置有所变动,也无需担忧。闲鱼平台特别提供了灵活且便捷的修改功能,那么当我们想要修改已经发布产品的地址究竟该如何修改呢,这篇教程攻略就将为大家带来详细的步骤攻略介绍,希望能帮助到大家!闲鱼怎么修改发布产品地址?1、打开闲鱼,点击我发布的,选择商品,点击编辑。2、点击定位图标,选择需要设置的地址即可。

Discuz论坛权限管理:阅读权限设置指南 Discuz论坛权限管理:阅读权限设置指南 Mar 10, 2024 pm 05:33 PM

Discuz论坛权限管理:阅读权限设置指南在Discuz论坛管理中,权限设置是至关重要的一环。其中,阅读权限的设置尤为重要,它决定了不同用户在论坛中能够看到的内容范围。本文将详细介绍Discuz论坛的阅读权限设置,以及如何针对不同的需求进行灵活的配置。一、阅读权限基础概念在Discuz论坛中,阅读权限主要有以下几个概念需要了解:默认阅读权限:新用户注册后默认

See all articles