Skip to main content

Django extension for managing users and groups

Project description

Django Auth Manager

This is a Django extension that extends manage.py commands and provides the ability to retrieve information about users, groups and their permissions.

Installation

Install using PIP:

pip install django-auth-manager

Add django_auth_manager to INSTALLED_APPS:

INSTALLED_APPS += ["django_auth_manager"]

Usage

This extension provides you with additional manage.py commands. The information below describes how to use them.

Fetch All Users and Their Permissions

The fetch_users script outputs the information about a user and their permissions. Here is an example for getting information for all the users:

$ ./manage.py fetch_users
User: nadzeya (nadzya.info@gmail.com)
  This is a superuser.
  The permissions below will be kept with a user even if you remove the superuser bit from their account.
  No permissions found.
User: testuser
  Permissions:
  - view_userexperience
  - add_topic
  - change_topic
  - delete_topic
  - view_topic
  - add_task
  - change_task
  - delete_task
  - view_task
  - view_userwordprogress
  - add_word
  - change_word
  - delete_word
  - view_word
  - view_usertaskprogress
  - add_userexperience
  - change_userexperience
  - delete_userexperience

You can also specify a username to get information for a specific user:

./manage.py fetch_users -u testuser
User: testuser
  Permissions:
  - view_userexperience
  - add_topic
  - change_topic
  - delete_topic
  - view_topic
  - add_task
  - change_task
  - delete_task
  - view_task
  - view_userwordprogress
  - add_word
  - change_word
  - delete_word
  - view_word
  - view_usertaskprogress
  - add_userexperience
  - change_userexperience
  - delete_userexperience

Fetch Information About Groups

The fetch_groups command outputs all the groups, users in these groups, and the group permissions for each group. You can output the data in either YAML or table format:

$ ./manage.py fetch_groups --yaml
- name: Developers
  permissions:
  - view_user
  - view_token
  - view_emailverificationcode
  - view_passwordresettoken
  - view_task
  - change_topic
  - view_topic
  - view_userexperience
  - view_usertaskprogress
  - view_userwordprogress
  - view_word
  users: []
- name: Administrators
  permissions:
  - add_task
  - change_task
  - delete_task
  - view_task
  - add_topic
  - change_topic
  - delete_topic
  - view_topic
  - add_userexperience
  - change_userexperience
  - delete_userexperience
  - view_userexperience
  - view_usertaskprogress
  - view_userwordprogress
  - add_word
  - change_word
  - delete_word
  - view_word
  users:
  - testuser

Here you can see how the table format looks:

$ ./manage.py fetch_groups --table
Group          | User     | Permission                
------------------------------------------------------
Developers     | No users | view_user                 
               |          | view_token                
               |          | view_emailverificationcode
               |          | view_passwordresettoken   
               |          | view_task                 
               |          | change_topic              
               |          | view_topic                
               |          | view_userexperience       
               |          | view_usertaskprogress     
               |          | view_userwordprogress     
               |          | view_word                 
------------------------------------------------------
Administrators | testuser | add_task                  
               |          | change_task               
               |          | delete_task               
               |          | view_task                 
               |          | add_topic                 
               |          | change_topic              
               |          | delete_topic              
               |          | view_topic                
               |          | add_userexperience        
               |          | change_userexperience     
               |          | delete_userexperience     
               |          | view_userexperience       
               |          | view_usertaskprogress     
               |          | view_userwordprogress     
               |          | add_word                  
               |          | change_word               
               |          | delete_word               
               |          | view_word                 
------------------------------------------------------

By specifying -g $GROUP_NAME, you can fetch the information about a specific group:

$ ./manage.py fetch_groups --table -g Administrators
Group          | User     | Permission           
-------------------------------------------------
Administrators | testuser | add_task             
               |          | change_task          
               |          | delete_task          
               |          | view_task            
               |          | add_topic            
               |          | change_topic         
               |          | delete_topic         
               |          | view_topic           
               |          | add_userexperience   
               |          | change_userexperience
               |          | delete_userexperience
               |          | view_userexperience  
               |          | view_usertaskprogress
               |          | view_userwordprogress
               |          | add_word             
               |          | change_word          
               |          | delete_word          
               |          | view_word            
-------------------------------------------------

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_auth_manager-0.1.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_auth_manager-0.1.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file django_auth_manager-0.1.0.tar.gz.

File metadata

  • Download URL: django_auth_manager-0.1.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for django_auth_manager-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2371e74284a5277e7665b6ca30ee3d9136b4f84efaab87d32970ada933821227
MD5 1c8befa5c86edfebe8405b75e5bb115d
BLAKE2b-256 85d2c1e3c55caf030b62d052a0f06571a2b33ca309fcaf541d9ca4a1ed5303b2

See more details on using hashes here.

File details

Details for the file django_auth_manager-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_auth_manager-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5381007e292c8c008ee682249e597f75adc5d444221f67b13600023c596a0735
MD5 ff5b9fae8f7c48e1856316e1667add63
BLAKE2b-256 3f8f2654a345b33aa255ed5415aac87939ab74e88e644ed85c376239a378608e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page