django按角色(组)查看访问安全性。
django-roles-access的Python项目详细描述
django角色访问
用于保护对具有角色的视图的访问的应用程序 (django contrib group)。
django_roles_access是一个django应用程序,用于保护对视图的访问。它是 建立在被解释为角色的django contrib组之上。目标 应用程序是:
提供对视图的安全访问。
能够管理对视图的访问,而无需重新启动 服务器(运行时)。
最小化对新代码的需求,或者完全消除它(当使用 django_roles_access中间件)。也使开发人员从任务中解放出来 对任何视图访问进行编码。
django_roles_access还通过注册提供安全报告 checkviewaccess操作。
使用:
django 1.10+(python 2.7,python 3.5+)
django 2(python 3.5+)
要求
django角色访问使用django contrib groups,django contrib user。阿尔索 django号 创建和管理views access (django_roles_access.models.ViewAccess)。 因此django角色的访问依赖于django管理站点 这和它有相同的要求。这可以在 official documentation:
快速启动
安装和配置
从pypi安装django_roles_access
pip install django roles访问
将'django_roles_access'添加到已安装的应用程序设置:
已安装的应用程序=[ … “django_roles_access”, ]
运行迁移以创建django_角色访问模型:
python manage.py迁移
Note:
If nothing else is done, then Django site security keeps without modification.
访问配置
快速查看访问配置分两步进行。
步骤1
在django admin接口中创建 django_roles_access.models.ViewAccess 对象并对其进行配置:
view属性:要保护的视图的名称。使用的格式:
<app_name:view_name>
( Namespaces and View name)。type属性:为视图选择access类型:
public:任何访问者都可以访问该视图。
authorized:只有授权(记录的)django contrib用户可以访问 景色。
按角色:仅django contrib user属于任何添加的django contrib user将访问该视图。
roles属性:当by roles被选为access type时,此 属性保存其成员将访问视图的任何django contrib group。
步骤2
在要保护的视图中使用:
access_by_roles视图函数的decorator (django_roles_access.decorators.access_by_roles)
- <基于类视图的P>>STR 1 } ROLISMIXIN < /强> MIXIN (django_roles_access.mixin.RolesMixin)
例如:
如果视图是一个函数:
from django_roles_access.decorators import access_by_role
@access_by_role()
myview(request):
...
在基于类的视图中使用MIXIN:
from django_roles_access.mixin import RolesMixin
class MyView(RolesMixin, View):
...
Note:
When user has no access to a view, by default django_roles_access response with django.http.HttpResponseForbidden.
Warning:
Pre existent security behavior can be modified if a django_roles_access configuration for the same view results in a more restricted view access.
测试django角色访问
您可以在以下位置检查django_roles_访问测试执行 Travis CI integration ()
您还可以在以下位置检查dajngo_roles_access测试覆盖率 Coverage ()
或:
创建虚拟环境。
进入并激活虚拟环境。
克隆django\u角色访问:
安装tox:
pip安装tox
运行测试:
毒性
相关站点
- <升我>
{a16}
{a17}
{A10}
{a19}
{a3}