【问题标题】:Use authlogic to find the User record based on an associated record使用 authlogic 根据关联记录查找用户记录
【发布时间】:2010-09-07 06:39:46
【问题描述】:

通常,使用 Authlogic,您将使用一些唯一标识符(例如电子邮件或用户名)和密码进行身份验证。 Authlogic 首先通过标识符(User.find_by_email_address(email) 或类似的)查找记录,然后在返回的对象上调用 .authenticate 方法,该方法会根据记录检查密码。

我想要做的是改变 Authlogic 查找记录的方式(比仅仅改变它使用的字段更精细)。我的用例要求email_address 列(在本例中)位于关联的子模型中。

基本上,我想要求 Authlogic 根据提供的 email_address 唯一标识的关联 Subscriber 模型的存在来查找我的 User 记录。

有没有人看到 Authlogic 适应这个?

【问题讨论】:

    标签: ruby-on-rails authentication associations authlogic


    【解决方案1】:

    您可能想要配置不同的#login_field

    【讨论】:

    • #login_field 只接受数据库中另一个字段的符号,而不接受关联模型中的一个符号。它看起来更像是我需要重新定义进行发现的方法。
    • 它想要数据库中的字段还是方法?如果它只关心一个方法(你需要查看源代码),那么你可以简单地创建一个返回关联结果的方法。
    • 它需要一个字段。它在主用户记录上执行 find_by_xyz()。我可能需要找到那个确切的方法并覆盖它以使用关联记录上的连接和使用条件进行查找。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多