Package: django-hacs
HACS(Hybrid Access Control System)The full featured advancedAccess Control Systempowered byDjango.HACSprovides enterprise standard authorization system,
it also covers IAM(Identity and Access Management).FeaturesDjango MultiSite:Support to runmultiple siteswith 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 ofIP TableCustom 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 ofDjango GuardianandDjango Authoritybut definitely base idea could be from those.Audit Trial: (coming)This is the part of IAM (Identity and Access Management)InstallationInstalldjango-hacs, simply usepiporeasy_install~$ pip install django-hacs
or
~$ easy_install django-hacsInstall most recent (dev) version ofdjango-hacs~$ git clone https://github.com/nazrulworld/django-hybrid-access-control-system.git django-hacs
~$ cd django-hacs
~$ python setup.py installConfigurationAdddjango-hacsat INSTALLED_APPSINSTALLED_APPS = (
    .................,
    'django.contrib.contentypes',
    'django.contrib.sites',
    'hacs'
)Add middleware classes fromdjango-hacsand also make suredjango.contrib.sites.middleware.CurrentSiteMiddlewareis 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 ispath to hacs/generatedHACS_GENERATED_URLCONF_DIR = "your desired directory location"Initializedjango-hacsenvironment and this the starting point:~$ python manage.py init_hacs
>>> provide your informationDependenciesDjango 1.9.x or higherDocumentationFull documentation for end users can be found in the “docs” folder, and is also available online athttp://django-hacs.readthedocs.org/Routing Rules ManagementWe have two ways to do that.Django Admin1. Make sureadminapp is installed andhacs.urlsis added intourlconf. i.eurl(r'^hacs/',include(('hacs.urls','hacs'),namespace='hacs'))2. Go tohttp://{host}/admin/hacs/. From there you can manage (add, edit, delete). More details could be found at documentation.Django Management Tool1. Download sample routing file fromhttps://github.com/nazrulworld/django-hybrid-access-control-system/blob/master/sample/routes-minimal.json2. 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 andcdtomanage.py:~$ python manage.py import_route -S <path to json file>Deploydjango-hacsYou 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>ContributeIssue Tracker:https://github.com/nazrulworld/django-hybrid-access-control-system/issuesSource Code:https://github.com/nazrulworld/django-hybrid-access-control-system/Documentation:http://django-hacs.readthedocs.org/SupportIf you are having issues, please let us know.
We have a mailing list located at: Django HACS<connect2nazrul@gmail.com>ContributorsMd Nazrul Islam,email2nazrul@gmail.comChangelog1.0a2Initial release.