I have been programming with both Sinatra and Padrino for quite some time now. However, I am still not able to find the right authentication and authorization solution for Padrino. Let me explain my expectation and what I have already tried out.
With Sinatra, I successfully use the sinatra-authentication gem along with the role_model gem. I generally use the Mongoid ORM for talking to MongoDB. These two gems together let me take care of authetication, protecting routes, checking for roles of the logged in user for applying access control.
sinatra-authentication doesn't work with Padrino - it is very specific to Sinatra. I tried it out multiple times. I have already tried out both omniauth and warden with the corresponding Padrino modules but for one reason or another I am not able to get them to work as simply as the wonderful sinatra-autentication gem.
So - before I can attempt implementing a solution of my own (or porting sinatra-authentication to Padrino) - can anyone suggest any other authentication and authorization solutions? At the moment I don't need anythign fancy - simple database-based authentication will just work perfectly.