2

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

自 2011 年以来,limesurvey wiki 有一个关于设置“廉价而肮脏”的 LDAP 身份验证的页面没有变化,但我怀疑这从 2.00 开始不再适用。

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

Limesurvey 的社区设施似乎是一个巨大的损失:我无法在 IRC 上得到回复,虽然我的问题从昨天开始才出现在论坛上,但我并不抱希望。

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

4

2 回答 2

2

2.05 有完整的插件机制。安装后,进入插件设置并激活 LDAP。

于 2014-03-01T10:35:24.643 回答
-1

这很容易,但恐怕这不是你想要的。在application/config/config.php,你改变这个:

$config['enableLdap'] = true;

然后在 中配置您的 LDAP 目录application/config/ldap.php。大多数选项都在此处描述。您将不得不更改 LDAP 路径和查询,尤其是在您使用 ActiveDirectory 时。为什么我会提到这一点,稍后会很清楚。

可以进行 LDAP 身份验证,但没有任何开箱即用的功能。IIRCC(如果我正确阅读了代码)。登录过程最终调用UserIdentity::authenticate。继(在第 70 行版本ad10c28354431e09c3e82800721427bee31c6598)之后,我想出了这个

在 config.php 中,改变这个

$config['auth_webserver'] = true;

这会将身份验证委托给 Web 服务器。使用任何可以设置REMOTE_USER变量的东西。这很模糊,我知道。但是 Limesurvey 只给你两个选择:内部数据库或外部数据库。我们必须选择 external,我们将在其中配置与 Limesurvey 的有点匹配的 LDAP 身份验证和 HTML 表单。

好处是您可以使用 IIS 进行设置REMOTE_USER,如果您在基于 Microsoft 的内部网络中进行设置,则可以实现单点播放。

有了这些,您将不得不编写实现hook_get_auth_webserver_profile. 这意味着在 LDAP 中查找用户,可能使用ldap.conf.

这是很多工作,但您可以轻松地进行概念验证。更改配置,hook_get_auth_webserver_profile为给定用户硬编码并通过伪造您选择的 REMOTE_USER http 标头登录 Limesurvey。

于 2013-09-17T17:31:36.200 回答