搜索
首页后端开发php教程权限控制的一个思路_PHP教程
权限控制的一个思路_PHP教程Jul 20, 2016 am 11:14 AM
mvcurl思路我们控制数据库权限模块结构访问通过

数据库表结构

<span CREATE</span> <span TABLE</span><span  `NewTable` (
    `id`  </span><span int</span>(<span 11</span>) <span NOT</span> <span NULL</span><span  AUTO_INCREMENT,
    `title`  </span><span varchar</span>(<span 255</span>) <span NOT</span> <span NULL</span><span ,
    `menu_id`  </span><span int</span>(<span 11</span>) <span NOT</span> <span NULL</span><span ,
    `module`  </span><span varchar</span>(<span 50</span>) <span NOT</span> <span NULL</span><span ,
    `class`  </span><span varchar</span>(<span 50</span>) <span NOT</span> <span NULL</span><span ,
    `method`  </span><span varchar</span>(<span 50</span>) <span NOT</span> <span NULL</span><span PRIMARY</span> <span KEY</span><span  (`id`)
);</span>

假定我们使用了MVC的结构,并通过url访问对应的模块及类和函数。

表中第一行表示一个操作,title表示操作名,menu_id表示属于哪一个菜单选项,module表示模块名(没有可以略过),class表示类名,method表示函数名

此外我们还需要一个用户组的表,大致如下:

其中access_list中保存的当前用户组所拥有的权限ID(对应上个权限表中的ID)

当然我们还需要一个用户表来对应用户组表

group_id表示的第用户所对应的用户组

当我们访问一个url的时候,比如:

http://testApp.test.com/index.php/module/testModule/testClass/testAction

通过路由分析,我们得到相应的数据:

模块->testModule

类->testClass

函数->testAction

通过三个参数,我们查找权限表中的数据,得到一个唯一的id值。

然后对比用户组中access_list中的数据,如果数据中包括有这个id,那么当前用户拥有当前操作的权限,反之没有权限。

 

那么我们如何来控制菜单选项,当用户有权限时才显示呢?

因为在权限表中的每个操作都对应有一个menu_id,即菜单选项。我们通过查找当前用户所属于的用户组信息,得到他所拥有的权限操作ID,再通过ID取得他所属于的菜单选项,这样就得到了当前用户所拥有的菜单权限。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/440252.htmlTechArticle数据库表结构 ( ) ( ) ( ) ( ) ( ) ( ) 假定我们使用了MVC的结构,并通过url访问对应的模块及类和函数。 表中第一行表示一个操作,title表示操作...
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
探索Windows 11指南:如何访问旧硬盘驱动器上的用户文件夹探索Windows 11指南:如何访问旧硬盘驱动器上的用户文件夹Sep 27, 2023 am 10:17 AM

由于权限,并不总是可以访问某些文件夹,在今天的指南中,我们将向您展示如何在Windows11上的旧硬盘驱动器上访问用户文件夹。此过程很简单,但可能需要一段时间,有时甚至数小时,具体取决于驱动器的大小,因此请格外耐心并严格按照本指南中的说明进行操作。为什么我无法访问旧硬盘上的用户文件夹?用户文件夹的所有权属于另一台电脑,因此您无法对其进行修改。除了所有权之外,您对该文件夹没有任何权限。如何打开旧硬盘上的用户文件?1.取得文件夹的所有权并更改权限找到旧的用户目录,右键单击它,然后选择属性。导航到“安

linux删除文件需要什么权限linux删除文件需要什么权限Jul 11, 2023 pm 01:26 PM

linux删除文件需要所在文件夹的所有权限,分别是读、写、执行。因为定位这个文件过程就需要进入文件夹,即使使用类似rm /xxx/fle的方式,同样系统内部也会进入文件夹,所以要对文件夹有执行权限,然后读取文件夹内容需要读的权限,最后是删除文件,由于文件是上级文件夹的一部分所以需要对文件夹有写的权限。

iOS 17:如何控制哪些应用程序可以访问您的照片iOS 17:如何控制哪些应用程序可以访问您的照片Sep 13, 2023 pm 09:09 PM

在iOS17中,Apple可以更好地控制应用程序可以看到的照片内容。继续阅读,了解如何按应用管理应用访问权限。在iOS中,Apple的应用内照片选取器可让您与应用共享特定照片,而照片图库的其余部分则保持私密。应用必须请求访问您的整个照片图库,您可以选择授予应用以下访问权限:受限访问&#8211;应用程序只能看到您可以选择的图像,您可以随时在应用程序中或通过转到“设置”&gt;“隐私和安全”&gt;“照片”来查看所选图像。完全访问权限&#8211;App可以查看照片

CentOS搭建web服务器前需注意的权限与访问控制策略CentOS搭建web服务器前需注意的权限与访问控制策略Aug 05, 2023 am 11:13 AM

CentOS搭建web服务器前需注意的权限与访问控制策略在搭建web服务器的过程中,权限与访问控制策略是非常重要的一环。正确设置权限和访问控制策略可以保护服务器的安全性,防止非授权用户访问敏感数据或者对服务器进行不当操作。本文将介绍在CentOS系统下搭建web服务器时需要注意的权限与访问控制策略,并提供相应的代码示例。用户与组的管理首先,我们需要创建一个专

PHP如何实现角色权限管理系统?PHP如何实现角色权限管理系统?Jun 29, 2023 pm 07:57 PM

PHP是一种广泛应用的编程语言,被广泛用于创建和开发各种Web应用程序。在许多Web应用中,角色权限管理系统是一个重要的功能,它可以确保不同用户拥有适当的访问权限。本文将介绍如何使用PHP来实现一个简单而实用的角色权限管理系统。角色权限管理系统的基本概念是将用户分为不同的角色,并为每个角色分配相应的权限。这样,用户只能执行他们有权限执行的操作,从而保证系统的

trustedinstaller权限怎么获得「推荐获取TrustedInstaller权限操作步骤」trustedinstaller权限怎么获得「推荐获取TrustedInstaller权限操作步骤」Feb 06, 2024 pm 05:48 PM

这篇文章将带你了解TI的本质是什么,进一步探索如何在powershell和NtObjectManager模块的帮助下获取TI权限,以便在操作系统中完成任何你想要的操作。如果你曾经管理过Windows系统,那么你应该熟悉trustedInstaller(TI)组的概念。TI组在系统文件和注册表的操作中具有重要的权限。举个例子,你可以查看System32文件夹下文件的属性,在安全选项中,TI组和文件所有者具有删除和修改文件的权限,甚至管理员也无法直接修改安全选项。因此,对于系统文件和注册表的操作,需

win7修改文件提示更改权限拒绝访问如何解决win7修改文件提示更改权限拒绝访问如何解决Jul 04, 2023 pm 07:01 PM

  win7修改文件提示更改权限拒绝访问如何解决?一些系统文件在进行修改的时候,常常会提示我们没有权限去进行操作。我们可以去进行文件夹权限的功能关闭,或者获取管理员权限。需要修改此类文件的用户,一起来看看接下来具体的教程分享吧。win7修改文件提示更改权限拒绝访问解决办法  1、首先选中对应文件夹,点击上方工具,选中文件夹选项。  2、进入查看选项卡。  3、取消勾选使用简单文件共享然后确定。  4、然后右键选择对应文件夹,点击属性。  5、进入安全选项卡。  6、选择图示位置,点击高级。  7

手机档案存取权限是什么手机档案存取权限是什么Jul 19, 2022 pm 03:50 PM

手机档案存取权限是指允许APK文件读写手机的内存;如果允许APK文件访问手机的内存,那么就可以将应用安装在手机中,如果不允许APK文件访问手机的内存,那么手机就不能安装应用。

See all articles

热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.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

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