Flexible authentication solution for Rails with Warden