怎样解决上下级关系文件查看的权限控制问题

简介: 怎样解决上下级关系文件查看的权限控制问题

题目:

例如:主任,主管,科长,文员,

主任,可以看到它自己+下面职员的资料

主管,可以看到他+下面2人的资料

科长,只能看到他+文员的资料

文员只可以看到自己,因为他下面无下级


解决方案:


  1. 查询的时候


id name parentId IDPath
1 主任 0 -1-
2 主管 1 -1-2-
3 科长 2 -1- 2-3-
4 文员 3 -1-2–3-4-


这个数据结果不知你是否看得懂


如:查找主任及下属员工的sql语句


select * from table where id=1  or idpath  iddpath like '%-1-%'


  1. 插入的时候
    新增一个新的用户时需要先查询出他的上级领导的iDPath,在加上自己的 id和一个 ‘-’ 组成新增用户的iDPath 字段即可!如果没有上级则iDPath 字段内容为 -当前用户id-


  1. 在查询当前用户可看的文档的时候可以执行以下的sql将当前用户能看到的用户id查询出来


select * from table where id=1  or idpath  iddpath like '%-当前登录者的id-%'


目录
相关文章
|
8月前
|
监控 测试技术 数据库连接
利用 RunnerGo 深度探索 API 性能测试:从理论到实践
API性能测试是保障应用稳定性和用户体验的关键环节。本文详细探讨了如何使用RunnerGo全栈测试平台进行高效API性能测试,涵盖测试计划创建、场景设计、参数配置到执行与分析全过程。通过电商平台促销活动案例,展示了高并发下的测试策略与优化措施,如代码与数据库查询优化、数据库连接池扩容、服务器资源配置调整及缓存策略实施等。最终显著提升系统性能,满足高并发需求。API性能测试需持续关注与优化,以适应业务发展和用户需求变化。
288 33
|
监控 安全 算法
云上智能风控:构建金融安全的智能防线
云上智能风控系统具有良好的灵活性和可扩展性。随着金融市场的不断变化和技术的不断发展,系统能够灵活调整风控策略和算法模型以适应新的风险类型和场景。同时,系统还能够根据业务需求进行功能扩展和升级以满足不同金融机构的个性化需求。
985 7
|
缓存 监控 JavaScript
SPA首屏加载速度慢的怎么解决?
SPA首屏加载速度慢的怎么解决?
638 60
|
存储 缓存 搜索推荐
|
消息中间件 存储 JSON
python 操作RabbitMq详细操作分享
python 操作RabbitMq详细操作分享
395 0
|
语音技术
kws_util 下载不了
用户在树莓派上安装了一个语音唤醒环境,并使用了CTC语音唤醒模型“小云小云”。但在执行推理时遇到了错误。已尝试安装[kws_tuil],安装不成功,更换镜像后仍然安装失败,目前无法解决此问题。
|
编解码 负载均衡 监控
RPC远程调用
RPC远程调用
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
321 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
监控 算法 Java
深入理解Java虚拟机:JVM调优的实用策略
在Java应用开发中,性能优化常常成为提升系统响应速度和处理能力的关键。本文将探讨Java虚拟机(JVM)调优的核心概念,包括垃圾回收、内存管理和编译器优化等方面,并提供一系列经过验证的调优技巧。通过这些实践指导,开发人员可以有效减少延迟,提高吞吐量,确保应用稳定运行。 【7月更文挑战第16天】
233 4
|
移动开发 前端开发 JavaScript
说一说你对混合开发(Hybrid Development)的了解。
混合开发(Hybrid App)结合Web和Native技术,实现跨平台应用开发,降低工作量和时间。使用JavaScript等Web技术提升开发效率,通过优化提供接近原生体验。混合应用可即时更新,维护灵活,成本效益高。React Native和Flutter等框架支持混合开发,丰富的社区资源加速开发进程。网易云音乐等成功案例证明其可行性。随着技术进步,混合开发前景广阔。
370 1