使用Devise,Rails 3.2.12进行LDAP身份验证

时间:2013-02-20 11:54:54

标签: ruby-on-rails devise ldap

我正在尝试使用LDAP和Devise登录,但由于某种原因它无法正常工作。

在我的LDAP文件中,我只有:

host: xxxxxxxx
port: 389
attribute: uid
base: ou=Students, dc=xxx, dc=xx, dc=xx
ssl: false

我的模型叫做User。

Devise自己做的查询是否正常......?

SELECT "users".* FROM "users" WHERE "users"."username" = 'xxxx' LIMIT 1

我真的找不到这方面的文件。你能帮忙吗?

1 个答案:

答案 0 :(得分:2)

对于像我一样对LDAP感到困惑的人,答案是:是的,这是正常的

也许我应该提到我在谈论原始问题中的devise_ldap_authenticatable宝石。我的坏。

config/initializers/devise.rb文件中,您会找到devisedevise_ldap_authenticatable的配置文件,其中会有类似的行:

config.ldap_create_user = false (by default)

如果将其更改为true,则只要成功登录,它就会在本地数据库中创建用户。这就是为什么第一篇文章中的SQL语句存在,它只是想查看用户是否已经保存。奇怪的是它即使ldap_create_user选项为false也会执行并显示语句。