###############    表结构分析     ################

"""

表结构设计:
1,四张表
用户表,userinfo,这个表本身不会被创建,而是用来被真正的用户表做继承,
角色表,role,
菜单表,menu,
权限表,permission, 2,关联关系
用户表和角色表多对多关联,
角色表和权限表多对多关联,
权限表和菜单表一对多关联, """

###############    提供的操作     ################

"""

提供的操作
1,角色添加,只是菜单添加, 2,菜单添加,
添加一级菜单,这是在菜单表中保存的
添加二级菜单,如果权限表关联了菜单表,就是菜单,没有关联就不是菜单,
添加菜单权限,对于非二级菜单的需要关联是二级菜单的id,用来展开权限,这个设计可以把权限控制到按钮级别,
这种是在建立菜单和权限的关系, 3,分配权限,可以为客户分配角色,为角色分配权限,
这种其实就是建立员工和角色,角色和菜单之间的关联关系,都是多对多的,
这个分配的角色就是角色页面建立的,
这个分配权限就是菜单页面创建的,
另外用户可以绑定角色, """

###############    权限初始化     ################

"""

权限初始化
1,在登陆的时候,把菜单和权限拿出来,然后放入session里面去, 2,这一步涉及到了django session的操作,
原理就是客户端保存cookie 格式是 sessionid :sessionkey
sessionkey是自动生成的
sessionkkey会保持在服务器端,然后对应的有sessiondata,
这种数据在服务端,会比较安全, """

###############    权限组件     ################

"""

权限校验
1,使用中间件来校验权限,这样每一个进来的url都会经过中间件 2,逻辑就是获取当前访问的url,然后取出初始化中保存到session中的url,看看是否匹配到,匹配到就是有权限的, 3,settings.VALID_URL_LIST,
白名单中的URL无需权限验证即可访问 4,settings.NO_PERMISSION_LIST
需要登录,但无需权限校验, """

###############    权限组件     ################

"""
权限初始化 在登陆的时候做权限初始化,这个权限初始化做了什么?
需要传递两个参数,user和request,user是当前用户,request是请求相关的所有信息
user是一个对象,user = models.UserInfo.objects.filter(name=user, password=pwd).first()
做了两个事情:
1,根据这个用户获取到他所有的权限,并且放入session,settings.PERMISSION_SESSION_KEY
2,把菜单和权限,放入session,settings.MENU_SESSION_KEY """

###############    权限组件     ################

###############    权限组件     ################

如果redis的k4有一千万条数据,请打印所有的数据?复制代码# 方式一:    #result =conn.hgetall('k4')    #print(result)    # 不可取 从redis取到数据之后,服务器内存无法承受,爆栈        #ret=conn.hscan_iter('k4',count=100)    #一次取100个数据,循环完了后再去取    # ret 是一个生成器    #for item in ret:        #print(item)

最新文章

  1. 原生JS--Ajax
  2. java中string stringbuilder stringbuffer 的区别
  3. jquery上传图片插件plupload
  4. asp Gridview绑定形式获取行号
  5. Java知识点:琐碎知识点(1)
  6. 对PostgreSQL的prepared statement的深入理解
  7. 三步走起 提升 iOS 审核通过率 下篇
  8. Ubuntu 13.04 安装 GCC4.8.1
  9. WF编译报错
  10. DOCTYPE声明的几种类型
  11. 不断摸索发现用 andy 模拟器很不错,感觉跟真机差不多
  12. JavaScriptConvert.SerializeObject转换出错
  13. Java设计模式之《观察者模式》及应用场景
  14. Hadoop问题:chmod 0700 of directory /var/lib/apt/lists/
  15. ubuntu下安装pandas出现 compile failed with error code 1 in /tmp/pip_build_hadoop/pandas
  16. apache StringUtils 工具类
  17. PHP科学计数法转换成数字
  18. JAVA操作mysql
  19. ios上线流程
  20. [Jenkins]怎样在Jenkins上面启动服务器上的批处理脚本

热门文章

  1. 吴裕雄--天生自然 JAVASCRIPT开发学习: 表单验证
  2. 布局基础<kotlin>(整理自网络)
  3. 01Java-方法
  4. java加解密算法--对称加密工作模式
  5. ubuntu下查询网络的常用命令
  6. JAVA中如何判断一个输入是数字(小数和整数)还是字符串?
  7. IOC 本质是为了实现 AOP|火影鸣人
  8. win10开发环境下安装mongodb
  9. python编程:从入门到实践----第五章>if 语句
  10. Single设计模式