django混合访问控制系统
django-hacs的Python项目详细描述
HACS(混合访问控制系统)
功能齐全的高级Access Control System由Django提供支持。HACS提供企业标准授权系统, 它还包括iam(身份和访问管理)。
功能
- django multisite:支持使用单个配置文件(设置)运行multiple sites,这是一个动态过程,因此可以添加不受限制的站点。
- 防火墙/访问控制:为您的应用程序提供完整的防火墙功能,几乎与IP Table的方式相似
- 自定义URL架构:适用于网站、用户和组的规则。
- HTTP方法筛选:适用于网站、用户和组的规则。
- 维护方式:仅适用于现场规则。
- regex模式的url黑名单:适用于网站、用户和组的规则。
- regex模式的url白名单:适用于网站、用户和组的规则。
- advanced authorization:(coming)承诺不仅仅是Django Guardian和Django Authority的组合,但基本思想肯定可以来自这些。
- audit trial:(即将发布)这是iam(身份和访问管理)的一部分
安装
安装django-hacs,只需使用pip或轻松安装
安装最新版本的django-hacs~$ pip install django-hacs
or
~$ easy_install 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文件并记住位置 四。转到终端并cd到manage.py:
~$ python manage.py import_route -S <path to json file>
部署django-hacs
- 您可以按照上面的说明创建新的路由架构。
- 如果您已经在本地有路由方案,并且已经准备好投入生产。
- 从本地导出~$ python manage.py export_route -d <output file name with full path. i.e /tmp/my-routes.json>
- 现在从生产服务器的终端导入路由模式~$ python manage.py import_route -S <path to json file>
贡献
支持
如果你有问题,请告诉我们。 我们的邮件列表位于:django hacs<;connect2nazrul@gmail.com>;
贡献者
- 纳兹鲁尔伊斯兰医学博士,email2nazrul@gmail.com
更改日志
1.0a2
- 初次发布。