Рекомендую посмотреть библиотеку
www.pac4j.org
Конкретно по ролям. Вариантов несколько, например:
1) Авторизуем всех без разбора, авторизованные без пароля получают роль user
2) Авторизуем только менеджеров и админов, неавторизованные автоматически будут - user
3) Авторизуем менеджеров, админов, пользователей с паролями и из соцсетей, неавторизаванные автоматически будут unauthorized.