Вы ищете аутентификацию нескольких типов пользователей, например, хотите хранить администраторов в одной таблице и пользователей в другой? Если это то, что вы хотите, то я согласен, что Devise - это путь.
Если вы хотите использовать одну модель пользователя и реализовать роли, то я думаю, что комбинация Devise и CanCan будет отличным выбором.