使用authlogic和LDAP身份验证时,如何使密码可选?

时间:2009-12-31 21:14:31

标签: ldap authlogic

我正在创建一个应用程序,我尝试将LDAP与authlogic一起用于登录身份验证。我想只接受用户名并在用户登录LDAP服务器时登录用户。为此,我需要禁用密码验证。我怎么能这样做?

4 个答案:

答案 0 :(得分:2)

我认为你可以这样做:

class User < ActiveRecord::Base
  acts_as_authentic do |config|
    config.validate_password_field = false
  end
end

答案 1 :(得分:1)

在您调用acts_as_authentic的用户模型中,此可能会执行操作:

acts_as_authentic do |config|
  config.require_password_confirmation = false
  config.ignore_blank_passwords = true
end

这些配置选项可以在lib / authlogic / acts_as_authentic / password.rb(版本2.1.3)中找到。

答案 2 :(得分:1)

我在为我的应用修改的authlogic_ldap插件时遇到了同样的问题。我错误地在User类中包含login_field :ldap_login。 我最初也遇到stack level too deep错误,但我将authlogic从v3.0.3恢复到v3.0.2并且现在可以正常工作了。

答案 3 :(得分:0)

通过在users表中没有密码列并使用此配置进行Authlogic,我成功地使用Open ID(同样的想法,密码未由我的应用程序存储)这样做:

class User < ActiveRecord::Base
  acts_as_authentic do |c|
    c.crypted_password_field = false
  end
end

未设置crypted_password_field,用户保存期间就会产生错误。