title: Rails gem for custom authentication
body: <p>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.</p>
  
  <ul>
  <li>Multiple access levels (User, Trainer, Manager, Admin)</li>
  <li>No user signup (Trainer, Manager, Admin will create accounts and the information will be emailed to users)</li>
  <li>User groups (User, Trainer, Manager) belong to groups and can only manage users in those groups. Admin can manage anyone in any group.</li>
  <li>Users can change details on their account and change their passwords.</li>
  <li>Admins can determine how users will login (custom field, username, email)</li>
  <li>Can use a mysql database</li>
  </ul>
  
  <p>Is there any current gems out there with all this functionality or will a custom one need to be created?</p>