【问题标题】:Use "database users" to authenticate in Ruby on Rails在 Ruby on Rails 中使用“数据库用户”进行身份验证
【发布时间】:2012-04-01 22:36:40
【问题描述】:

我有一个 PostgreSQL 数据库,可以从不同位置访问,并且想添加一个与 Ruby on Rails 3 的接口。对于身份验证,我需要使用与 create them directly in the database 相同的凭据登录用户;有没有办法让 Rails 根据当前用户每次使用不同的用户名/密码连接到数据库? 感谢您的任何提示!

【问题讨论】:

  • 你为什么要这样做?
  • @ybakos 在整个系统中保持一致性,因为在数据库内部存在依赖于用户角色和权限的触发器/函数的复杂设置

标签: ruby-on-rails postgresql ruby-on-rails-3 rails-postgresql


【解决方案1】:

是的。 在 devise 上使用自定义身份验证,以查询底层 postgresql 数据库。

见:

Custom authentication strategy for devise

我当然会添加某种过滤器来减少可以通过这种方式进行身份验证的用户列表。

【讨论】:

  • 这看起来就是这样!我会尽快检查出来:)
  • 但是,这会如何改变哪个(PostgreSQL)用户用于建立与数据库的连接?当然,您可以使用您喜欢的任何机制对用户进行身份验证,但这不会改变附加到数据库连接/会话的用户/角色。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-09
相关资源
最近更新 更多