2013-02-20 165 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,它也会执行并显示该语句。

相关问题