Hybrid Access Control System for Django
Project description
HACS(Hybrid Access Control System)
The full featured advanced Access Control System powered by Django. HACS provides enterprise standard authorization system, it also covers IAM(Identity and Access Management).
Features
Django MultiSite: Support to run multiple sites with single config file(settings), this is dynamic process, so you can add unlimited sites.
- Firewall/Access Control: Complete firewall features for your application, almost similar fashion of IP Table
Custom URL schema: applicable applicable on site, user & group’s rules.
HTTP Methods filter: applicable on site, user & group’s rules.
Maintenance Mode: applicable on only site’s rules.
Regex patterned URL blacklist: applicable on site, user & group’s rules.
Regex patterned URL whitelist: applicable on site, user & group’s rules.
Advanced Authorization: (coming) Committed to be more than combination of Django Guardian and Django Authority but definitely base idea could be from those.
Audit Trial: (coming) This is the part of IAM (Identity and Access Management)
Installation
Install django-hacs, simply use pip or easy_install
~$ pip install django-hacs or ~$ easy_install django-hacs
Install most recent (dev) version of django-hacs
~$ git clone https://github.com/nazrulworld/django-hybrid-access-control-system.git django-hacs ~$ cd django-hacs ~$ python setup.py install
Configuration
Add django-hacs at INSTALLED_APPS
INSTALLED_APPS = ( ................., 'django.contrib.contentypes', 'django.contrib.sites', 'hacs' )
Add middleware classes from django-hacs and also make sure django.contrib.sites.middleware.CurrentSiteMiddleware is added:
MIDDLEWARE_CLASSES = [ ............................ 'django.contrib.sites.middleware.CurrentSiteMiddleware', 'hacs.middleware.DynamicRouteMiddleware', 'hacs.middleware.FirewallMiddleware', ]
Optionally define the writable location, where generated urlconf modules will be stored, default location is path to hacs/generated
HACS_GENERATED_URLCONF_DIR = "your desired directory location"
Initialize django-hacs environment and this the starting point:
~$ python manage.py init_hacs >>> provide your information
Dependencies
Django 1.9.x or higher
Documentation
Full documentation for end users can be found in the “docs” folder, and is also available online at http://django-hacs.readthedocs.org/
Routing Rules Management
We have two ways to do that. Django Admin 1. Make sure admin app is installed and hacs.urls is added into urlconf. i.e url(r'^hacs/', include(('hacs.urls', 'hacs'), namespace='hacs')) 2. Go to http://{host}/admin/hacs/. From there you can manage (add, edit, delete). More details could be found at documentation.
Django Management Tool 1. Download sample routing file from https://github.com/nazrulworld/django-hybrid-access-control-system/blob/master/sample/routes-minimal.json 2. Fill with required information. You can just copy/paste and fill as much as you need, just make sure about valid json and all entries are under one list. 3. Save the json file and keep in mind the location 4. Go to terminal and cd to manage.py:
~$ python manage.py import_route -S <path to json file>
Deploy django-hacs
You can either follow above instruction and create new routing schema.
- If you have already routing schema at local and that are ready for production.
Export from local ~$ python manage.py export_route -d <output file name with full path. i.e /tmp/my-routes.json>
Now import routing schema from production server’s terminal ~$ python manage.py import_route -S <path to json file>
Contribute
Issue Tracker: https://github.com/nazrulworld/django-hybrid-access-control-system/issues
Source Code: https://github.com/nazrulworld/django-hybrid-access-control-system/
Documentation: http://django-hacs.readthedocs.org/
Support
If you are having issues, please let us know. We have a mailing list located at: Django HACS<connect2nazrul@gmail.com>
Contributors
Md Nazrul Islam, email2nazrul@gmail.com
Changelog
1.0a2
Initial release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file django-hacs-1.0b1.tar.gz
.
File metadata
- Download URL: django-hacs-1.0b1.tar.gz
- Upload date:
- Size: 456.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46d0d6daf03767bd57aa3d60f57bbf015a127f638e7cd3a9a268e49acb442d3f |
|
MD5 | 32905e48582b248e0e2e0706e8041555 |
|
BLAKE2b-256 | 15099babb8923d108c07a3918a946e19fccefc569f2a964d271c0b0f7ed392c9 |
File details
Details for the file django_hacs-1.0b1-py2.py3-none-any.whl
.
File metadata
- Download URL: django_hacs-1.0b1-py2.py3-none-any.whl
- Upload date:
- Size: 508.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87190524d27d2d76f60b7e7b500a9cf42d1900c37459466af6e53663dad70d5e |
|
MD5 | cdf2e64ef8065c9697108d796a9347d0 |
|
BLAKE2b-256 | 1aff3740f39ac952ef7d5e7daba2059292293ae8b4cd8344d63da48b9a60606f |