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 CXF和授权   java在网站中部署使用swing创建的表单   java为什么getHeaderField()返回一个字符串,其中getHeaderFields()返回HttpUrlConnection中的Map<String,List<String>>   java如何检测恶意数据包?   webview中的java网页为空   java SWT图像资源,用于将我的所有图像存储在一个位置   java计算数组的最大长度,使平均值小于给定值   java“发件人电话号码无效”和美国号码   将Swing组件作为内容的自定义Java工具提示不会显示   在并发HashMap中重新灰化期间的java检索   Java 7和Tomcat 7.0.64 ClassFormatException:常量池中的字节标记无效   使用JUnit的java assertNull因NullPointerException失败   java内存中的文件是否与文件系统中的文件大小相同?   循环内实例化的类型的java注入依赖项