如何检索使用 Apache 的 mod_ldap 进行身份验证的用户的用户信息?

2024-04-30

我使用 Apache 进行 LDAP 身份验证。现在我需要知道如何获取使用 PHP 登录的用户。有可能吗?我是否必须在 PHP 中进行身份验证才能存储用户名?


如果您激活 mod_authnz_ldap 模块并按如下方式配置您的部分:

<Directory /var/www/yoursite/>
    AuthName "LDAP Secured"
    AuthType Basic
    AuthLDAPUrl "ldap://your.ldap.server:389/dc=example,dc=com?sAMAccountName"
    AuthLDAPBindDN "[email protected] /cdn-cgi/l/email-protection"
    AuthLDAPBindPassword "secret"
    AuthBasicProvider ldap
    AuthzLDAPAuthoritative off
    Require valid-user
</Directory>

然后在 PHP 代码中,您可以获取用于登录的用户 ID,如下所示:

<?php
    $userId = $_SERVER['AUTHENTICATE_SAMACCOUNTNAME'];
    echo "User ID: " . $userId;
<?

您在 AuthLDAPUrl 指令中指定的任何 LDAP 属性都可以通过这种方式获取(使用 AUTHENTICATE_ 前缀,然后附加全大写的属性名称)。您可以通过用逗号分隔来添加更多属性,但只有第一个属性将用于身份验证。看http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#expose http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#exposed and http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapurl http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapurl了解更多详情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检索使用 Apache 的 mod_ldap 进行身份验证的用户的用户信息? 的相关文章

随机推荐