I am new to rails and am wanting to make a training scheduling app. I need a user management system and am sure one exists as a gem but I cannot seem to find one with all of these needed features.
- Multiple access levels (User, Trainer, Manager, Admin)
- No user signup (Trainer, Manager, Admin will create accounts and the information will be emailed to users)
- User groups (User, Trainer, Manager) belong to groups and can only manage users in those groups. Admin can manage anyone in any group.
- Users can change details on their account and change their passwords.
- Admins can determine how users will login (custom field, username, email)
- Can use a mysql database
Is there any current gems out there with all this functionality or will a custom one need to be created?
You’re combining two concepts here, user authentication and role-based access control. Consider using devise for authentication as it’s quite configurable (you can disable the sign_up route and only allow sign_in, for example), and something like cancan for rbac.
Also, do you really need to allow admins to determine how users will login? Consider just settling on one method to start with, and adding this functionality later if it’s a real priority.