美文网首页
取出权限url

取出权限url

作者: 两点半的杂货铺 | 来源:发表于2018-03-20 14:43 被阅读46次

一、思路

  • 建议保存在session中

  • models.表,取出的就是相应表的对象
  • 把权限都存在session中,也就将url都存入session
  • 权限和url是多对多,一个人有多个权限的时候,他们的url也容易出现交集所以要去重
  • 获取权限url第一步,获取用户对应权限

  • 第一种方法获取用户名再去多对多表获取所有表的内容,在进一步取值

    username = request.GET.get('u')
    user = models.userinfo.objects.filter(username=username)
    # 通过用户id或者用户名,获取用户和权限的多对多 对象
    #obg_ru = models.User2Role.objects.filter(u=user)#['User2Role',User2Role]

  • 第二种方法要获取权限,我们直接去权限表查
 username = request.GET.get('u')
 user = models.userinfo.objects.filter(username=username)
 #利用modles.那个表就是查那个表的原则
 #obj_Role = models.Role.objects.filter(user2role__u = user)
  • 第三种方法就是第二种的升级版本,不用去查userinfo表
#一条语句,查多对多表的user键查username
obj_Role = models.Role.objects.filter(user2role__u__username=username)
print(obj_Role)
  • 第二步获取权限对应的url

  • 第一种不推荐
#查完权限,查权限对应的操作,权限可能有很多所以用in
models.Url2Action2Role.objects.filter(r__in=obj_Role)#['Url2Action2Role','Url2Action2Role]
  • 第二种一定用in去查所有权限内
 #利用权限去查网址和增删改查的表
    obj_url2action = models.Url2Action.objects.\
        filter(url2action2role__r__in=obj_Role).\
        values('url__url','a__code').distinct()
    print(obj_url2action)

二、完美写法

def menu(request):
    # 第一种方法
    username = request.GET.get('u')
    obj_Role = models.Role.objects.filter(user2role__u__username=username)
    obj_url2action = models.Url2Action.objects.\
        filter(url2action2role__r__in=obj_Role).\
        values('url__url','a__code').distinct()
    print(obj_url2action)
    return render(request,'menu.html')

相关文章

  • 取出权限url

    一、思路 建议保存在session中 models.表,取出的就是相应表的对象 把权限都存在session中,也就...

  • Spring Security 源码分析(三):授权管理

    URL访问权限配置 Spring Security 允许在过滤器配置中使用如下方式对特定 URL 做权限配置: H...

  • 取出url中的参数

    经常会用到取出url中参数这个方法,所以把它封装一下,方便调用 使用方法: 若地址栏URL为:abc.html?i...

  • JS的正则表达式

      前景提示:处理一串URL,取出URL中指定参数的值。代码如下   line1:这是我们要处理的url  lin...

  • 简单的爬虫架构

    URL管理器对将要爬取的url和已经爬取过的url进行管理。取出待爬取的url传给网页下载器。网页下载器将url指...

  • 框架改造使用说明

    1、URL过滤器,配置不参与权限校验的URL 配置文件:SecurityConfig配置方式:

  • Vue权限控制

    需求 页面级别权限控制1.URL路由权限控制2.导航菜单权限控制3.超链接权限控制 元素界别权限控制1.按钮元素权...

  • 渗透测试-Android平台API

    测试APP权限overview静态分析Android 权限定制权限动态分析测试自定义url静态分析动态分析测试通过...

  • URL匹配RequestMatcher接口详解

    我们知道spring secuity是控制URL的访问权限的,那么spring secuity是怎样拦截匹配URL...

  • 【黑马程序员济南校区】权限控制方式讲解

    【济南校区】权限控制方式讲解 权限控制两种主要的方式:细粒度方法级别的权限控制、粗粒度URL级别权限控制 1.1细...

网友评论

      本文标题:取出权限url

      本文链接:https://www.haomeiwen.com/subject/ptoofftx.html