我正在尝试使用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
我真的找不到这方面的文件。你能帮忙吗?
答案 0 :(得分:2)
对于像我一样对LDAP感到困惑的人,答案是:是的,这是正常的。
也许我应该提到我在谈论原始问题中的devise_ldap_authenticatable宝石。我的坏。
在config/initializers/devise.rb
文件中,您会找到devise
和devise_ldap_authenticatable
的配置文件,其中会有类似的行:
config.ldap_create_user = false (by default)
如果将其更改为true,则只要成功登录,它就会在本地数据库中创建用户。这就是为什么第一篇文章中的SQL语句存在,它只是想查看用户是否已经保存。奇怪的是它即使ldap_create_user
选项为false也会执行并显示语句。