python设置文件权限_python通用权限框架
EasyPermission
适用于由Django开发的网站的通用权限框架,只要设置好配置文件就快速做好权限管理,而且还支持各种条件的自定制扩展。
功能:
1、权限验证 -- 支持添加临时权限
支持临时分配权限
简单权限筛选:一个url对应一个url(可以是具体的字符串或者是一个正则表达式)
稍微复杂的筛选:url可以参数
究极筛选:可以定义钩子函数传入的是request对象,只需返回一个布尔值就能确定是否通过能权限(注:需要自己扩展)
2、可以检验是否登录
没有登录时会跳转到登录页面
3、生成菜单
根据权限信息生成的菜单,生成的菜单的可以有GET参数,视权限而定,还能生成由正则表达式构成的菜单(注:需要自己扩展)
注:生成的菜单放入到request对象的_menu_str属性里,使用时只需request._menu_str取值即可
使用:
1、下载easyPermission.py文件和 models.py文件,EasyPermission文件是主文件,models文件用于建立存放权限数据的数据库。
2、根据models建立数据库,注:要提供用户表,作为其他表的关联
3、用过Django的admin等方式为用户添加权限,具体是什么权限,那就要根据业务逻辑了
4、在项目的views中导入easyPermission,实例化easyPermission.EasyPermission,此时要传入配置文件(怎么配置参看 settings_doc.py文件)
5、使用对象的check_permission作为装饰器装饰函数(FBV、CBV)
6、完成使用
modeles.py的表说明
由于定义表的时候没有命名好,所以只能口述一波了
注:这个权限的基本原理是角色分配权限和用户分配权限
一个角色可以理解成一个组
Role --角色表 :分配权限的单位,一个角色拥有某些特定的权限
Role2User --用户分配角色表:用于用户表和角色表相关联
Action --提交方式表:记录提交方式的。如GET,POST
Permission -- url表:记录没有参数的绝对地址的url
Detail --详细操作表:定义url的GET参数
Hooks --钩子函数表:钩子函数的函数名,验证时会根据配置文件和函数名来找到对应的钩子函数
Action2Permission --权限表:对URL和提交方式进行绑定,这是一个最简单的权限
Action2Permission2Detail --权限分配详细操作表:为权限绑定GET参数
Action2Permission2Hooks --权限分配钩子表:为权限绑定钩子函数
Role2Action2Permission --角色分配权限:正式为角色绑定权限
User2Action2Permission --用户分配权限表:也可以直接为某些用户分配特殊的权限
Menu --菜单表:用于生成菜单,用于给URL(Permission表)绑定
python设置文件权限_python通用权限框架相关推荐
- python设置文件编码_python批量修改文件编码格式的方法
本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下 使用说明: 1.使用工具:Python2.7.6+chardet2.3.0,chardet2.3.0下载地址: ...
- python设置文件编码_python修改文件编码为utf-8格式
原博文 2019-12-02 17:11 − 简单实现.h,.c文件修改编码为utf-8格式. import os; import chardet; file_path = "." ...
- 使用 Shiro 设计基于用户、角色、权限的通用权限管理系统
一.前言 在大型的信息管理系统中,经常涉及到权限管理系统 下面来个 demo,很多复杂的系统的设计都来自它 代码已经放到github上了,地址:https://github.com/larger5/s ...
- python设置文件权限_Python os.chmod() 方法
Python os.chmod() 方法 概述 os.chmod() 方法用于更改文件或目录的权限. 语法 chmod()方法语法格式如下: os.chmod(path, mode) 参数 path ...
- linux设置文件为不可访问权限,Centos给文件设置了777权限仍不能访问解决方案
Centos给文件设置了777权限仍不能访问: 开启了SELinux导致 1.查看SELinux状态: /usr/sbin/sestatus -v ##如果SELinux status参数为enabl ...
- python编写文件管理系统_python用户管理系统实例详解
实例讲解python用户管理系统 本文主要为大家分享一篇python用户管理系统的实例讲解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧,希望能帮助到大家. 自定义函数+装饰器,每一 ...
- 如何用python整理文件夹_python按照文件创建日期整理文件至文件夹
# -*- coding: utf-8 -*- # @Time : 2019-02-15 13:31 # @Author : cxa # @File : sortbydate.py # @Softwa ...
- python遍历文件对象_Python文件常见操作实例分析【读写、遍历】
本文实例讲述了Python文件常见操作.分享给大家供大家参考,具体如下: 1.文件是什么? 文件是存储在外部介质上的数据或信息集合,程序中源程序.数据中保存的数据.图像中的像素数据等等: 文件是有序的 ...
- python 打开文件夹_python打开目录
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python dirtree.py e:programmingpythonapp ...
最新文章
- 原生javascript实现放大镜效果
- 5.什么是二叉查找树?原理
- python获取列表的最后一个元素
- orbeon form 的架构简介 - 如何访问用户通过 form 存储的数据
- mysql注册slave_创建slave库?spm=a2c4e.11155472的搜索结果-阿里云开发者社区
- 国内做 3D 渲染和游戏引擎的码农们都在哪里获取技术信息?
- exe文件注册服务的方法
- C# ToString()格式笔记
- 点击控件动态创建新页面
- 不用邀请照样申请Gmail免费邮箱
- AI-语音处理理论和应用-语音识别、语音合成
- python中stop_thread_Python threading.Thread只能用私有方法self来停止.__ Thread_stop()
- GIS应用类有哪些最新发表的毕业论文呢?
- 杨洋江疏影封面照合体,《全职》诠释衣品即人品
- 李宏毅机器学习01机器学习介绍
- python用matplotlib作图时,x轴为时间轴,如何让x轴每隔几个点显示一次?
- 排序算法的时间与空间复杂度分析
- arm linux源更新,[Linux] - Manjaro ARM 系统配置(更新镜像源,安装 Docker 和 Dotnet Core)...
- 汇编与接口技术期末复习笔记(1)—— 汇编部分
- 百度竞价推广超全代码