fastadmin 子后台权限问题

        在后台开发的过程中经常会有这样的一个需求,每个管理员单独管理自己添加的数据或单独管理自己下级管理员添加的数据,管理员之间的数据是不相通的,每个管理员看到的数据是不同的。在FastAdmin中可以很方便的实现此功能。

如何实现呢

首先我们需要在当前model下添加以下两个属性

protected $dataLimit = 'auth'; //默认基类中为false,表示不启用,可额外使用auth和personal两个值
protected $dataLimitField = 'admin_id'; //数据关联字段,当前控制器对应的模型表中必须存在该字段

然后再controller下添加

protected $dataLimit = false; //表示不启用,显示所有数据
protected $dataLimit = 'auth'; //表示显示当前自己和所有子级管理员的所有数据
protected $dataLimit = 'personal'; //表示仅显示当前自己的数据
protected $dataLimitField字段默认为admin_id,请注意添加该字段类型为int(10)。

通过以上配置后,在列表数据的时候将默认添加条件过滤不属性自己权限的数据,在添加时会自动维护admin_id的数据,在编辑、删除的时候会自动控制权限避免越权操作。

FastAdmin 是一款基于 ThinkPHP 5 开发的高效、简洁的后台管理框架,当您遇到 FastAdmin 后台登录页面显示 `error` 的情况时,可能是由于以下几个原因导致的问题--- ### 常见原因及解决办法 #### 1. **数据库连接错误** - 如果您的配置文件 (`application/database.php`) 中的数据源信息填写有误(如用户名、密码、主机地址等),可能会导致无法正常加载数据表结构而返回 error。 - 检查点: - 数据库名是否正确; - 用户名和密码是否有权限访问指定数据库; - 确保服务器可以连通 MySQL 或其他使用的数据库服务。 #### 2. **安装未完成或异常** - 安装过程中如果出现中断或其他问题,可能导致必要的初始化脚本未能成功运行。比如超级管理员账号以及相关依赖项未生成完全。 - 解决方案: - 手动导入 SQL 文件到对应数据库里; - 验证 `.env` 和配置目录下所有设置值的一致性和完整性。 #### 3. **缓存冲突** - 当修改过核心代码或新增插件后没有及时清除已有缓存,则容易引发此类现象。 - 应对措施:通过命令行工具进入项目根路径,并尝试执行以下指令刷新环境状态: ```bash php think clear ``` #### 4. **权限不足** - 运行所处的操作系统若给予 web 访问者读取某些重要资源 (例如日志记录) 的权利不够充分的话也会影响到整体功能体现出来 "Error" 提示符的情况发生。 - 调整方法: - 对 storage/runtime/logs 目录赋予适当的写入许可级别; --- 如果您按照上述步骤排查仍存在问题,请查看具体的报错信息或者检查项目的调试模式开启与否以便获取更多线索!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

solitaire.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值