这是我的php代码,工作正常
$ldapconfig['usersdn'] = 'abc@def.com';//CHANGE THIS TO THE CORRECT USER OU/CN
$ds=ldap_connect("ldap://something.somewhere.com");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ds, LDAP_OPT_NETWORK_TIMEOUT, 10);
$dn = $ldapconfig['usersdn'];
if(isset($_POST['txtuser'])){
if ($bind=ldap_bind($ds, $dn, $password)) {
session_start();
$_SESSION['foo'] = 'bar';
} else {
echo "Login Failed: Please check your username or password";
}
}
我想在apache服务器上实现相同的功能。
这是我的.htaccess文件
AuthType Basic
AuthBasicProvider ldap
LDAPReferrals off
AuthLDAPBindAuthoritative off
AuthLDAPURL "ldap://something.somewhere.com"
AuthName "AD authentication"
Require valid-user
我也有点困惑如何传递用户名和密码巫婆我输入的对话框。
1条答案
按热度按时间h5qlskok1#
您可以通过在mod_authnz_ldap.so中使用两个指令来实现这一点
依照预设,服务器会以匿名方式或使用专用使用者和密码,将基本认证使用者名称转换为LDAP辨别名称(DN)。此指令会胁迫服务器使用内送使用者提供的逐字使用者名称和密码,来执行初始DN搜寻。
示例配置
您可以看到,
AuthLDAPInitialBindPattern
使用正则表达式来捕获用户输入