2013-02-20 162 views
1

我嘗試使用LDAP和Devise登錄,但由於某種原因它不起作用。使用Devise進行LDAP驗證,Rails 3.2.12

在我的LDAP文件我只有:

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

我的模型雖然稱爲用戶。

對於Devise自己設計的查詢是否正常?......?

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

我真的找不到這方面的文檔。能否請你幫忙?

+0

你如何知道「屬性」和「基礎」的值是什麼? – 2013-03-15 19:17:00

+0

對不起,@garbagecollection,我真的不明白你的問題。如果你想幫忙,你太晚了,我的解決方案在下面。如果您因爲您的某個問題需要解決方案而提出問題,我可能不會是要問的人。 :) – cgf 2013-03-15 19:35:19

+0

不,我需要幫助:(所以我想知道'屬性:uid'和'base:ou =學生,dc = xxx,dc = xx,dc = xx'。您是否需要詢問系統管理員或有人喜歡這樣的信息嗎? – 2013-03-15 19:48:59

回答

2

對於任何人,因爲我對LDAP感到困惑,答案是:是的,這是正常的

也許我應該提到我在談論原始問題中的devise_ldap_authenticatable寶石。我的錯。

config/initializers/devise.rb文件,你會發現devisedevise_ldap_authenticatable配置文件,其中將有一個線有點像:如果是更改爲true

config.ldap_create_user = false (by default) 

,那麼它會創建一個用戶本地數據庫每當發生成功登錄時。這就是第一篇文章中的SQL語句存在的原因,它只是查看用戶是否已保存。奇怪的是,即使ldap_create_user選項爲false,它也會執行並顯示該語句。

相關問題