我正在创建一个应用程序,我尝试将LDAP与authlogic一起用于登录身份验证。我想只接受用户名并在用户登录LDAP服务器时登录用户。为此,我需要禁用密码验证。我怎么能这样做?
答案 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
,用户保存期间就会产生错误。