qq_37545200 2022-05-18 11:01 采纳率: 100%
浏览 85
已结题

文件系统管理 之 文件和目录数据库控制用户访问权限设置

1.权限跟数据结构都是通过数据库控制
2.admin管理员可以对文件夹进行授权是否可以访问,若设置一个用户甲可以访问a文件夹下的子文件夹b,则用户甲可以访问文件夹a,但是甲用户界面只显示他有权限访问的b文件夹,a文件中的其他文件夹或文件甲用户看不见也无法访问。
3.操作文件都是通过数据库实现
4.底层数据库怎么设计

  • 写回答

5条回答 默认 最新

  • hyh123a 全栈领域新星创作者 2022-05-18 11:18
    关注

    设计思路

    数据库层次

    1、一个tbl_admin表,用来创建admin账号
    2、一个权限表tbl_permission,用来创建权限,比如每一行权限,如果访问文件夹的话,以Json字段的形式存储,可以访问的文件夹标记true,不可以的false
    3、一个用户表tbl_user,用来创建普通用户
    4、一个用户权限关系表tbl_user_permission,用来帮顶普通用户和权限的关系

    大概的表结构
    // tbl_permission: 权限表
    id 
    name 用来存储权限名字
    permission 用来存储权限字段 Json格式,
    比如://这个只是举了个例子,可以根据自己需求简化这个json字段和结构
    {
        "a":{
            "data": {
                "b": {
                    "data":{
                        "b_sub_dir": {
    
                        },
                        "flag": false
                    }
                },
            "flag": true,
            }
        }
    
    }
    
    // tbl_user;  用户表
    id
    name
    
    // tbl_user_permission 用户权限表
    id
    user_id
    permission_id
    

    后端接口

    后端接口加个权限验证,
    每次用户想要通过前端调用某个接口的时候,
    1、后端接口获取用户id或者session或其他
    2、根据用户id来去 用户权限表tbl_user_permission 里获取用户权限,然后对那个Json格式的权限字段进行解析处理
    判断这个用户是否有权限进行这个接口的访问,或者对这个文件夹的访问

    • 如果有,则返回该文件夹的数据,
    • 如果没有权限,那么返回空。
      只显示用户有权限访问的数据。
    前端

    前端根据返回结果进行渲染,

    • 如果为空则不显示,
    • 只显示不为空也就是有权限访问的的数据

    如有问题及时沟通

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 5月26日
  • 已采纳回答 5月18日
  • 创建了问题 5月18日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。