limesurvey中的LDAP身份验证

时间:2013-09-17 12:54:21

标签: limesurvey

有人可以向我指出在limesurvey中通过LDAP设置管理员身份验证的任何有用说明吗?

自2011年以来,limesurvey wiki的页面保持不变,关于设置“便宜又脏”的LDAP身份验证,但我怀疑这不再适用于2.00以后。

有一个错误报告的回复说2.05 beta有一个插件机制,包括LDAP身份验证,但我一直无法找到任何关于此的信息 - 甚至关于如何下载和安装2.05的任何信息第一名。

Limesurvey的社区设施似乎是一个致命的损失:我无法得到IRC的回复,虽然我的查询仅从昨天开始在论坛上,但我没有希望。

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:-1)

这很容易,但我担心这不是你想要的。在application/config/config.php中,您可以更改此内容:

$config['enableLdap'] = true;

然后在application/config/ldap.php中配置您的LDAP目录。大多数options are described here。您将不得不更改LDAP路径和查询,尤其是在使用ActiveDirectory时。为什么我提到这个将在后面说清楚。

可以进行LDAP身份验证,但没有任何方法可以解决问题。 IIRCC(如果我正确读取代码)。登录过程最终调用UserIdentity::authenticate。接下来(版本ad10c28354431e09c3e82800721427bee31c6598中的第70行),我想出了这个

在config.php中,更改此

$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。