click!!!

https://github.com/ugfly1210/rbac_100

有关于 rbac 的所有代码,包括 README。

用户和角色 :

多对多字段放在哪张表更好点?
用户找角色,角色找权限. 放在user表中,是正向查询,我们操作起来更方便些.

记得在admin里面,admin.site.register(models.User)
记得在admin里面,admin.site.register(models.Permission)
记得在admin里面,admin.site.register(models.Role)
权限 :

- 权限的本质就是URL
- 里面有title(用户列表,添加,删除,编辑), 还有url
让码农这个角色 和 查看用户权限  建立关系
根据角色找权限.
- 你的权限包括 增删改查,  在页面上你的编辑和删除 应该是由\d+的,他俩没法做菜单,他俩应该是现在是用户列表页面的. 你进入list后才能看的到的.       添加勉强可以做菜单  所以 你应该在你权限表里面加一个 是否为菜单的字段
- 有没想过 这个权限里面为什么要有code字段呢?我直接让角色和url对应起来不是更简单易懂吗还方便操作吗?
    -
group :

- 又因为code里面  都是list,add  分不清是那个组(用户,订单)的
所以加了一个字段, group, 是用来区分list是属于user还是order的
每个组下面四个权限

- 分完组之后,每个组的权限少了,那么个数就多了.      每个组下面            显示的菜单太少.

所以再来一级.
menu_id : 菜单--> 组 --> 权限
现在还有一个问题, 但我们点击用户列表的时候, 菜单上的用户列表会被默认选中, 但是当你点击编辑的时候,因为编辑不是菜单,这个时候,菜单选项就没了. 可是我们还是在菜单一下面的用户信息完成编辑操作的. 我们还是要让菜单一下面的用户信息默认选中. 在权限里面加一个内联的foreign key,别和我扯什么is_menu. 丢掉,统统丢掉,你如果用is_menu的话,你如何把你同一个组的list(显示菜单),add,edit,del 关联起来. 如何实现刚才说的,当请求权限并不是菜单的时候如何继续默认选中菜单组.

Rbac_权限管理的更多相关文章

  1. Android权限管理之RxPermission解决Android 6.0 适配问题

    前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...

  2. Android权限管理之Android 6.0运行时权限及解决办法

    前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以 ...

  3. Android权限管理之Permission权限机制及使用

    前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...

  4. SpringMVC+Shiro权限管理【转】

    1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...

  5. Android6.0运行时权限管理

    自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有的权限而导致的无法安装 ...

  6. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  7. [Django]用户权限学习系列之权限管理界面实现

    本系列前三章: http://www.cnblogs.com/CQ-LQJ/p/5604331.htmlPermission权限基本操作指令 http://www.cnblogs.com/CQ-LQJ ...

  8. [Django]用户权限学习系列之设计自有权限管理系统设计思路

    若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...

  9. 我的MYSQL学习心得(十三) 权限管理

    我的MYSQL学习心得(十三) 权限管理 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

随机推荐

  1. 【[USACO17DEC]Standing Out from the Herd】

    题目 不会广义\(SAM\)啊 但信仰插入特殊字符就可以搞定一切了 我们先把所有的串搞在一起建出一个\(SAM\),记得在中间插入特殊字符 对于\(parent\)树上的一个节点,只有当其\(endp ...

  2. python 3+djanjo 2.0.7简单学习(四)--Django视图

    1.概念 Django 中的视图的概念是「一类具有相同功能和模板的网页的集合」.比如,在一个博客应用中,你可能会创建如下几个视图: 博客首页——展示最近的几项内容. 内容“详情”页——详细展示某项内容 ...

  3. webpack-dev-middleware插件的使用

    我们在使用webpack 编译文件时,每次改动文件都要去重新编译,是不是很麻烦,这时候我们就用到了webpack-dev-middleware 插件,该插件对更改的文件进行监控,编译, 一般和 web ...

  4. openstack cinder api对应的命令行接口

    a) Create Volume         cinder create 1 --display-name admin-volume1     cinder create --display-na ...

  5. Shell编程学习之重定向

    这一篇讲一下重定向 有些时候你想要保存某些命令产生的输出而不是在显示器上显示它. 为了应对这样的问题 bash shell 也就提供了一些重定向的操作符. 我们先了解一些基本的应用. 输出重定向 输出 ...

  6. js判断移动端还是PC端

    function isMobile(){ var sUserAgent= navigator.userAgent.toLowerCase(), bIsIpad= sUserAgent.match(/i ...

  7. 第39章 ETH—Lwip以太网通信—零死角玩转STM32-F429系列

    第39章     ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  8. 第24章 SPI—读写串行FLASH—零死角玩转STM32-F429系列

    第24章     SPI—读写串行FLASH 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  9. 不使用data-ng-app指令的表达式

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  10. SpringBoot学习8:springboot整合freemarker

    1.创建maven项目,添加pom依赖 <!--springboot项目依赖的父项目--> <parent> <groupId>org.springframewor ...