Accounts
Main concepts #
- Passwords are hashed and never visible to administrators
- 4 main types of account: Developer, Manager, Student, Restricted
- You can reset your password at any time
Role Higherarchy System #
Role | Permissions |
---|---|
Developer | Debug and developer page access |
Manager | Manage user accounts |
Student | Use printers |
Restricted | View printers |
Password Reset system All Users #
There is a very simple password reset system with a few options
1. User submitted #
Once logged in, a user can request their password to be reset
2. Manager submitted #
Managers have an account management page that can also request that each users password be reset
My password is reset, now what? #
Upon your next login, the password used is what will be set
User Configuration Manager Developer #
Visible by clicking the Account Management
button on the home page
This enables you to do the following
- Update a users role
- Reset their password
- You cannot view or manually change their password
- This reset does not require knowledge of their existing password
- Revoke their login
- Create new users
Password Verification & Lockout protections #
There are various protections set inplace to ensure security, but also make sure users aren’t locked out from the system
Standard Password Verification Process #
When a user logs in, it will search for the user (not case sensitive) in the registered users and will compare hashes
As part of the password reset function or account creation process a hash could be set to null in which case it will hash and set the users password to that and let them in regardless
Account lockout protections #
There are a few cases in which users will be automatically let in
/ref/config.json
does not existstudents
does not exist in the config file- Username submitted is “team302” with any capitalization
Role authentication & Lockout protections #
How a users role is determined after setup #
Your role is assigned to you by a manager, or a developer
They have a dashboard to change this if needed
If a user does not have a role defined in /ref/config.json
then they are automatically assigned restricted
How a users role is determined during setup #
During setup, the root user is automatically given the role of developer to ensure they have adaquite permissions to continue setup
Role lockout protections #
There are a few cases in which users will be automatically assigned as a developer
/ref/config.json
does not existstudents
does not exist in the config file- Username submitted is “team302” with any capitalization