Deleting a User currently deletes all of the User's Task Assignments, which causes all sorts of problems. As part of a default Turkle installation, it would be convenient to have a "User Admin" group that can have CRU but not D access to User accounts. The "User Admin" group would have the ability to maintain User accounts and manage Groups, but would not have full Django admin superuser status.
We are currently using django.contrib.auth for authentication and authorization. django.contrib.auth User accounts can have "staff" or "superuser" status. Per the default help text for User models:
Staff: "Designates whether the user can log into this admin site."
Superuser: "Designates that this user has all permissions without explicitly assigning them."
Proposal:
create a Django migration that creates "User Admin" group
grant the "User Admin" group CRU (but not D) access to User accounts
grant the "User admin" group CRU (and possibly D??) access to Groups
prevent privilege escalation by modifying the behavior of the User admin forms so that only Users with superuser status can:
grant superuser status to themselves or others, or
grant CRUD access to models that would be equivalent to superuser status
User Admins should be able to create ordinary Users or create other User Admins, but would not need C, U or D access to Projects or Batches. Granting Read access to Projects and Batches in the Turkle admin UI might be helpful so that User Admins could view Batch and Project Statistics.
Deleting a User currently deletes all of the User's Task Assignments, which causes all sorts of problems. As part of a default Turkle installation, it would be convenient to have a "User Admin" group that can have CRU but not D access to User accounts. The "User Admin" group would have the ability to maintain User accounts and manage Groups, but would not have full Django admin superuser status.
We are currently using
django.contrib.auth
for authentication and authorization.django.contrib.auth
User accounts can have "staff" or "superuser" status. Per the default help text for User models:Proposal:
User Admins should be able to create ordinary Users or create other User Admins, but would not need C, U or D access to Projects or Batches. Granting Read access to Projects and Batches in the Turkle admin UI might be helpful so that User Admins could view Batch and Project Statistics.
This Issue related to Issue #108.