【问题标题】:LDAP Authentication in limesurveyLimesurvey 中的 LDAP 身份验证
【发布时间】:2013-09-17 12:54:20
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 当之无愧的 +1 对于你所做的搜索,科林。我不知道关于 Limesurvey 的第一件事,但我知道你的痛苦。
  • 你的目标是什么 ldap 服务器?我建议您在任何问题中添加 ldap 标签以及您所指的特定 ldap 服务器。

标签: limesurvey


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这很容易,但恐怕不是你想要的。在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,我们将在其中配置与 Limesurvey 有点匹配的 LDAP 身份验证和 HTML 表单。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-05
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 2011-09-23
      • 2017-01-09
      • 2015-05-06
      相关资源
      最近更新 更多