我用 Sinatra 和 Padrino 编程已经有一段时间了。但是,我仍然无法为 Padrino 找到正确的身份验证和授权解决方案。让我解释一下我的期望以及我已经尝试过的内容。
使用 Sinatra,我成功地使用了sinatra-authentication gem 和role_model gem。我通常使用 Mongoid ORM 与 MongoDB 对话。这两个 gem 一起让我负责身份验证、保护路由、检查登录用户的角色以应用访问控制。
sinatra-authentication 不适用于 Padrino - 它非常特定于 Sinatra。我试了很多次。我已经使用相应的 Padrino 模块尝试了omniauth 和warden,但由于某种原因,我无法让它们像美妙的sinatra-autentication gem 一样简单地工作。
所以 - 在我尝试实施自己的解决方案(或将 sinatra 身份验证移植到 Padrino)之前 - 任何人都可以建议任何其他身份验证和授权解决方案吗?目前我不需要任何花哨的东西——简单的基于数据库的身份验证就可以完美地工作。