我正在尝试找到一个关于为LimeSurvey 2.0安装设置第一阶段LDAP认证的解决方案。现在我面临问题,我可以指定应该受保护的目录,但LimeSurvey使用index.php / admin作为管理界面。是否有可能从我的vhost.conf中为这个确切的文件+“/ admin”指定下面的代码?或者您知道更好的解决方案吗?如果有人可以帮助我会很棒。
非常感谢!
<Directory />
AuthLDAPUrl ldap://ldap.mydomain.com
/ou=users,[...]
AuthLDAPBindDN [...]
AuthLDAPBindPassword [...]
AuthBasicProvider ldap
AuthType Basic
AuthName [...]
Require valid-user
[...]
Satisfy any
</Directory>
答案 0 :(得分:1)
一种可能的解决方案是通过编辑使LimeSurvey在URL中没有index.php /application/config/config.php 并设置
'showScriptName' => false,
这样,网址看起来更像
http://yourdomain/limesurvey/admin/authentication/sa/login
和LDAP可能有效。
答案 1 :(得分:0)
为什么不将apache基本身份验证与PHP LDAP系统结合使用?
<?php
// Check username and password:
if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){
//store user
$Username = $_SERVER['PHP_AUTH_USER'];
//store password
$Password = $_SERVER['PHP_AUTH_PW'];
//Here the LDAP auth should be in place. $ldap is the ldap connection protocol object
if ($ldap->doAuth($Username,$Password)) {
//perform XML data output, based on $ldap->userinformation
} else {
// The text inside the realm section will be visible for the
// user in the login box
header('WWW-Authenticate: Basic realm="Mobile Feed"');
header('HTTP/1.0 401 Unauthorized');
echo '<?xml version="1.0" encoding="UTF-8"?>
<x protocolversion="1" lang="nl">
<x code="1">fail</fout>
</x>
';
}
}
?>
并将其与以下库结合使用: http://code.google.com/p/ldap-auth-php/
上面的库有一个名为protectinglepage.php的include。您可以在主项目中包含它。对于管理系统,请将其保留,以免受LDAP
保护