fastadmin 控制器的权限管理

2024-08-21 12:12

本文主要是介绍fastadmin 控制器的权限管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、fastadmin 权限管理,需要用到的属性和方法是这几个:

/*** 无需登录的方法,同时也就不需要鉴权了* @var array*/
protected $noNeedLogin = [];/*** 无需鉴权的方法,但需要登录* @var array*/
protected $noNeedRight = [];
/*** 是否开启数据限制* 支持auth/personal* 表示按权限判断/仅限个人 * 默认为禁用,若启用请务必保证表中存在admin_id字段*/
protected $dataLimit = false;/*** 数据限制字段*/
protected $dataLimitField = 'admin_id';

2、把官方文档权限控制中代码:

protected $noNeedLogin = []; //无需登录的方法,同时也就不需要鉴权了
protected $noNeedRight = []; //无需鉴权的方法,但需要登录

粘贴到controller的CeshiTszd.php文件中。

class CeshiTszd extends Backend
{/*** CeshiTszd模型对象* @var \app\admin\model\CeshiTszd*/protected $model = null;protected $noNeedLogin = []; //无需登录的方法,同时也就不需要鉴权了protected $noNeedRight = []; //无需鉴权的方法,但需要登录public function _initialize(){parent::_initialize();$this->model = new \app\admin\model\CeshiTszd;$this->view->assign("statusList", $this->model->getStatusList());}/*** 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法* 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑* 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改*/}

然后在CeshiTszd.php中创建两个测试方法,最好写上注释,生成菜单时可以生成出来。

/*** mywork**/public function mywork(){return '无需登录和鉴权 work';}/*** mywork1* */public function mywork1(){return '无需鉴权但需要登录 work1';}

接着修改权限控制部分代码:

    protected $noNeedLogin = ['mywork']; //无需登录的方法,同时也就不需要鉴权了protected $noNeedRight = ['mywork1']; //无需鉴权的方法,但需要登录

在网页中浏览控制器中的方法,http://www.cmf.com/back/CeshiTszd/mywork,不需要登录,显示如图:

打开一个新的浏览器页签,输入:http://www.cmf.com/back/CeshiTszd/mywork1,回车后提示需要登录。

如果注释掉代码:

//protected $noNeedRight = ['mywork1']; //无需鉴权的方法,但需要登录

这篇关于fastadmin 控制器的权限管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093127

相关文章

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

gradle第三方Jar包依赖统一管理方式

《gradle第三方Jar包依赖统一管理方式》:本文主要介绍gradle第三方Jar包依赖统一管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景实现1.顶层模块build.gradle添加依赖管理插件2.顶层模块build.gradle添加所有管理依赖包

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA