【问题标题】:Ruby on Rails: How can I authenticate different user types from one place?Ruby on Rails:如何从一处验证不同的用户类型?
【发布时间】:2010-05-14 20:20:19
【问题描述】:

这是我在 Stack Overflow 上的第一篇文章。我正在尝试构建一个系统来验证具有完全不同站点体验的三种类型的用户:客户、雇主和供应商。

我正在考虑使用带有用户名、密码和 user_type(+ AuthLogic 的其他必填字段)的多态“用户”表(使用 AuthLogic)。如果这是一个好方法,我该如何设置,以便在使用标准方式使用 user_type 验证 user_id 后,我可以将用户引导到适合他们的页面?

谢谢。

【问题讨论】:

标签: ruby-on-rails authentication authlogic polymorphic-associations


【解决方案1】:

在这种情况下,我会考虑 STI。然后每个人都可以作为普通用户进行身份验证,但在需要时很容易分支到他们自己的特定行为。但是,您可能需要对路线进行一些工作以使所有内容都对齐。

【讨论】:

  • 非常感谢。你能告诉我一些路线如何运作的细节吗?
  • 只是设置 STI,它会假设每种类型的用户都是完全不同类型的资源,有自己的控制器和所有东西,所以如果不希望这样(例如,你想使用所有用户类型的用户控制器),您可以执行以下操作:map.resources :customers, :employers, :vendors, :controller => :users
【解决方案2】:

sscirrus,他们(客户、雇主和供应商)之间是否存在任何关系?我有一个类似的案例,但有一对多的关系。

【讨论】:

  • 嗨 Sergio,是的,所有这些表之间都有关系,如下所示(我只给出一半,显然模型中指定了这些关系的另一个方向): Employer has_many :供应商,雇主 has_many :projects,项目 has_many :customers, :through => :matching.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 1970-01-01
相关资源
最近更新 更多