首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >limesurvey中的LDAP认证

limesurvey中的LDAP认证
EN

Stack Overflow用户
提问于 2013-09-17 20:54:21
回答 2查看 5.4K关注 0票数 2

有没有人能给我一些有用的指导,让我在limesurvey中通过LDAP设置管理员身份验证?

自2011年以来,limesurvey wiki有一个页面没有改变,内容是设置“廉价而肮脏”的LDAP身份验证,但我怀疑这在2.00以后就不再适用了。

有一个bug报告的回复说2.05测试版有一个包括LDAP身份验证的插件机制,但我一直找不到任何关于这方面的信息-甚至没有任何关于如何首先下载和安装2.05的信息。

Limesurvey的社区设施似乎是一个致命的损失:我在IRC上得不到回复,虽然我的问题从昨天才出现在论坛上,但我对此并不抱有希望。

我希望这里有人能提供更多有用的信息。

EN

回答 2

Stack Overflow用户

发布于 2014-03-01 18:35:25

2.05在插件中有完整的机制。安装后,转到插件设置并激活LDAP。

票数 2
EN

Stack Overflow用户

发布于 2013-09-18 01:31:36

这很容易,但恐怕不是您想要的。在application/config/config.php中,您可以更改以下内容:

代码语言:javascript
复制
$config['enableLdap'] = true;

然后在application/config/ldap.php中配置LDAP目录。大多数options are described here。您必须更改LDAP路径和查询,尤其是在使用ActiveDirectory的情况下。为什么我会提到这一点,稍后我将会很清楚。

LDAP身份验证是可以完成的,但没有任何现成的功能。IIRCC (如果我没有读错代码)。登录过程最终调用UserIdentity::authenticate。从(在ad10c28354431e09c3e82800721427bee31c6598版本中的第70行)开始,我想到了以下内容

在config.php中,更改此设置

代码语言:javascript
复制
$config['auth_webserver'] = true;

其将认证委派给web服务器。使用将设置REMOTE_USER变量的任何内容。很含糊,我知道。但是Limesurvey只给你两个选择:内部数据库或外部数据库。我们必须选择external,在那里我们将配置LDAP身份验证和HTML表单,它们在某种程度上与Limesurvey的相匹配。

好处是你可以使用IIS来设置REMOTE_USER,如果你是在基于微软的内部网络中设置,那么就可以实现单点登录。

准备就绪后,您必须编写实现hook_get_auth_webserver_profile的代码。这意味着要在LDAP中查找用户,可能要使用ldap.conf中的参数。

这是一项大量的工作,但您可以很容易地进行概念证明。如上所述更改配置,为给定用户硬编码hook_get_auth_webserver_profile,并通过伪造您选择的REMOTE_USER http标头登录到Limesurvey。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18850464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档