I am creating a Django site that will have 4 types of users;
- Super Admin: Essentially manages all types of users
- UserTypeA: Can login to site and basically will have a CRUD interface for some arbitrary model. Also has extra attributes (specific info that only pertains to TypeA users)
- UserTypeB: Can login to site and has extra information that pertains specifically to TypeB users, also can create and manage TypeC user accounts
- UserTypeC: Can login to site and has extra information that pertains only to TypeC users.
Noting that I plan on creating a custom interface and not utilizing the built-in admin interface. What would be the best method for implementing this user structure? I would prefer to use Django's built-in authentication system (which manages password salting and hashing, along with session management etc), but I would be open to using some other authentication system if it is secure and production ready.
EDIT: Also, my plan is to use 1 log-in screen to access the site and utilize the permissions and user type to determine what will be available on each user's dashboard.
EDIT: Would it be possible to accomplish this by using an app for each user type, and if so how would this be done with a single log-in screen.