django混合访问控制系统

django-hacs的Python项目详细描述


HACS(混合访问控制系统)

https://badge.fury.io/py/django-hacs.svghttps://travis-ci.org/nazrulworld/django-hybrid-access-control-system.svg?branch=masterhttps://coveralls.io/repos/github/nazrulworld/django-hybrid-access-control-system/badge.svg?branch=master

功能齐全的高级Access Control SystemDjango提供支持。HACS提供企业标准授权系统, 它还包括iam(身份和访问管理)。

功能

  1. django multisite:支持使用单个配置文件(设置)运行multiple sites,这是一个动态过程,因此可以添加不受限制的站点。
  2. 防火墙/访问控制:为您的应用程序提供完整的防火墙功能,几乎与IP Table的方式相似
    1. 自定义URL架构:适用于网站、用户和组的规则。
    2. HTTP方法筛选:适用于网站、用户和组的规则。
    3. 维护方式:仅适用于现场规则。
    4. regex模式的url黑名单:适用于网站、用户和组的规则。
    5. regex模式的url白名单:适用于网站、用户和组的规则。
  3. advanced authorization:(coming)承诺不仅仅是Django GuardianDjango Authority的组合,但基本思想肯定可以来自这些。
  4. audit trial:(即将发布)这是iam(身份和访问管理)的一部分

安装

安装django-hacs,只需使用pip轻松安装

~$ pip install django-hacs
or
~$ easy_install django-hacs

安装最新版本的django-hacs

~$ git clone https://github.com/nazrulworld/django-hybrid-access-control-system.git django-hacs
~$ cd django-hacs
~$ python setup.py install

配置

在已安装的应用程序中添加django-hacs

INSTALLED_APPS = (
    .................,
    'django.contrib.contentypes',
    'django.contrib.sites',
    'hacs'
)

django-hacs添加中间件类,并确保django.contrib.sites.middleware.currentsitemiddleware 添加:

MIDDLEWARE_CLASSES = [
    ............................
    'django.contrib.sites.middleware.CurrentSiteMiddleware',
    'hacs.middleware.DynamicRouteMiddleware',
    'hacs.middleware.FirewallMiddleware',
]

可选地定义可写位置,生成的urlconf模块将存储在该位置,默认位置为path to hacs/generated

HACS_GENERATED_URLCONF_DIR = "your desired directory location"

初始化django-hacs环境,这是起点:

~$ python manage.py init_hacs
>>> provide your information

依赖性

  • django 1.9.x或更高

文件

最终用户的完整文档可以在“docs”文件夹中找到,也可以在http://django-hacs.readthedocs.org/

路由规则管理

我们有两种方法。 django管理 一。确保admin应用程序已安装,并且hacs.urls已添加到urlconf中。即url(r'^hacs/',include(('hacs.urls','hacs'),namespace='hacs')) 2.转到http://{host}/admin/hacs/。从那里你可以管理(添加,编辑,删除)。更多细节可在文档中找到。

django管理工具 一。从https://github.com/nazrulworld/django-hybrid-access-control-system/blob/master/sample/routes-minimal.json下载示例路由文件 2.填写所需信息。您可以根据需要复制/粘贴和填充,只需确保有效的json和所有条目都在一个列表下。 三。保存json文件并记住位置 四。转到终端并cdmanage.py

~$ python manage.py import_route -S <path to json file>

部署django-hacs

  1. 您可以按照上面的说明创建新的路由架构。
  2. 如果您已经在本地有路由方案,并且已经准备好投入生产。
    1. 从本地导出~$ python manage.py export_route -d <output file name with full path. i.e /tmp/my-routes.json>
    2. 现在从生产服务器的终端导入路由模式~$ python manage.py import_route -S <path to json file>

支持

如果你有问题,请告诉我们。 我们的邮件列表位于:django hacs<;connect2nazrul@gmail.com>;

贡献者

更改日志

1.0a2

  • 初次发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java静态键入和编写一个简单的矩阵库   java如何最小化层次结构的代码量   这是在Google云数据存储中使用Java按键查询的正确方法吗?   java Android php+mysql+json执行异步任务时出错   java Hadoop Hbase访问被拒绝异常   java如何在json中指定特定的对象路径   JavaSpringJPA/Hibernate在使用@modify和@Query进行特殊更新之前调用完整更新   java多个错误通知   java插入Linkedlist和Node   java将图像放在webview中并调整其宽度   Java没有真实属性的缺点是什么?   java“isGooglePlayServicesAvailable”(此)已被弃用   java托管HIPPO CMS   安卓 Java。网URI构造函数不是编码字符(&C)   java如何用hibernate映射Deque?   java传递枚举类型作为参数   java自由堆大小在Maven中不会增加   java如何使用hashmap和arraylist的循环逻辑?   java如何使用JDBC复制MySql数据库