zoukankan      html  css  js  c++  java
  • 基于url的权限控制

      首先需要权限表,在权限表里有一个tag字段,这里面添的是url地址,基于url的控制权限都是控制器/方法这种类型的,所以可以理解某个控制器就是一个权限功能,

    比如给某个用户某个权限的话,直接将权限表的某个权限id和用户id关联即可,判断用户有没有某个权限,需要循环比对一下,

    比如某个控制器权限tag为user,那指的是以user控制器下的所有方法都将有权限去访问,

    例:直接访问localhost/app/user/index,那我只需要取得当前访问路径user/index,再取出当前用户所有权限,判断下当前路径是否包含已有的权限tag,

    如果有,那表示有权限访问。

      可以使用$row=strpos('当前路径','已有权限tag');

      然后需要判断$row===0,如果等于0才能表示是从第一位开始匹配的。(tag越短权限越大,如果从第一位开始匹配,当前路径完全包含了用户tag,那么表示一定具有此权限)。

      后台首页 左侧的功能列表,是需要从库里取出所有tag 遍历出来的列表,点击列表某功能后,那么就需要判断某功能的uri是否存在于当前用户的auth里。

    如果某个用户在后台没有某些权限,那么理论上我们是不应该让他看到除此以外的功能列表的,这就需要在进入后台时,遍历出左侧列表时,率先去判断用户相匹配的权限列表,不存在的权限移出auth_list数组,再遍历到后台左例。

  • 相关阅读:
    使用canvas技术在网页上绘制鲜花
    java连接Access数据库
    L2-009. 抢红包
    L2-008. 最长对称子串
    L1-032. Left-pad
    L1-016. 查验身份证
    L1-005. 考试座位号
    L1-030. 一帮一
    L1-023. 输出GPLT
    L1-028. 判断素数
  • 原文地址:https://www.cnblogs.com/houweijian/p/3080416.html
Copyright © 2011-2022 走看看