请给出Rails / Devise / LDAP Devise :: LdapAdapter.get_ldap_param用法的示例 [英] Please give example of Rails/Devise/LDAP Devise::LdapAdapter.get_ldap_param usage

查看:187
本文介绍了请给出Rails / Devise / LDAP Devise :: LdapAdapter.get_ldap_param用法的示例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用get_ldap_param对eDir ldap服务器进行身份验证。我可以验证,但是当我尝试读取属性我什么也没有。

I am stuck using get_ldap_param authenticating against an eDir ldap server. I can authenticate but when I try to read attributes I get nothing.

def get_ldap_email
    self.email = Devise::LdapAdapter.get_ldap_param(self.uid, "mail")
end

def get_ldap_category
   self.category = Devise::LdapAdapter.get_ldap_param(self.uid, "category")
end

在我的ndstrace.log中

In my ndstrace.log

92659520 LDAP: [2011/11/14 10:10:07.401] New cleartext connection 0xe4b26c0 from     192.168.21.40:58658, monitor = 0x4b37c940, index = 8
1256683840 LDAP: [2011/11/14 10:10:07.401] DoBind on connection 0xe4b26c0
1256683840 LDAP: [2011/11/14 10:10:07.401] Bind name:cn=admin,o=xxx, version:3, authentication:simple
1256683840 LDAP: [2011/11/14 10:10:07.401] Sending operation result 0:"":"" to connection 0xe4b26c0
1310226752 LDAP: [2011/11/14 10:10:07.402] DoSearch on connection 0xe4b26c0
1310226752 LDAP: [2011/11/14 10:10:07.402] Search request:
base: "cn=ntr,ou=Meta,o=xxx"
scope:0  dereference:0  sizelimit:0  timelimit:0  attrsonly:0
filter: "(objectclass=*)"
no attributes
1310226752 LDAP: [2011/11/14 10:10:07.402] Empty attribute list implies all user attributes
1310226752 LDAP: [2011/11/14 10:10:07.403] Sending search result entry "cn=ntr,ou=Meta,o=xxx" to connection 0xe4b26c0
1310226752 LDAP: [2011/11/14 10:10:07.403] Sending operation result 0:"":"" to connection 0xe4b26c0
1261947200 LDAP: [2011/11/14 10:10:07.405] Monitor 0x4b37c940 found connection 0xe4b26c0 socket closed, err = -5871, 0 of 0 bytes read
1261947200 LDAP: [2011/11/14 10:10:07.405] Monitor 0x4b37c940 initiating close for connection 0xe4b26c0
1251420480 LDAP: [2011/11/14 10:10:07.405] Server closing connection 0xe4b26c0, socket error = -5871
1251420480 LDAP: [2011/11/14 10:10:07.405] Connection 0xe4b26c0 closed

登录后收到的错误:

NoMethodError in Devise::SessionsController#create

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
Rails.root: /home/ntr/Dropbox/source/devise

Application Trace | Framework Trace | Full Trace
Request

Parameters:

{"utf8"=>"✓",
 "authenticity_token"=>"nkuzPnh8MCK4rh/RXUErrAjVJB9ciy56hfavG60I8ck=",
 "user"=>{"uid"=>"ntr",
 "password"=>"[FILTERED]",
 "remember_me"=>"0"},
 "commit"=>"Logga in"}
Show session dump

Show env dump

Response

Headers:

None

我一直在搜索高和低的某些类型的教程在网络上,但只找到devise_ldap插件的基本实现。不使用get_ldap_param。

I've been searching high and low for some kind of tutorials for this on the web but only found basic implementations of the devise_ldap addon. Non using get_ldap_param.

希望得到一些例子,提示等。

Would love to get some examples, tips etc.

// Roger

推荐答案

部分问题在于,目前,devise_ldap_authenticatable gem不会将验证密码传递给此函数。

The problem, in part, is that currently, devise_ldap_authenticatable gem does not pass in an authentication password to this function.

https://github.com/cschiewek/ devise_ldap_authenticatable / issue

我希望有一个回调,可以从身份验证中增加更多的LDAP响应,但似乎不可能。

I wish there was a callback where one could extra more out of the LDAP response from authentication, but that doesn't seem possible.

这篇关于请给出Rails / Devise / LDAP Devise :: LdapAdapter.get_ldap_param用法的示例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆