Apache 和 LDAP 身份验证

Apache 和 LDAP 身份验证

我正在将两个 LDAP 目录合并到一个服务器。首先,我创建了一个具有两个林的 LDAP 服务器,每个旧服务器一个。一切进展顺利。现在,我正在尝试设置对我的 mediawiki 的访问权限,以便两个林中的用户都可以访问它。

我从 AD 中知道,可以使用域和用户名区分用户,可以是域\用户名或用户名@域

使用 LDAP 可以实现这一点吗?我在站点配置中尝试了不同的设置,但都失败了。

我在 apache 中启用了以下模块:

  • core_module (静态)
  • log_config_module (静态)
  • logio_module (静态)
  • mpm_prefork_module (静态)
  • http_module (静态)
  • so_module (静态)
  • alias_module(共享)
  • auth_basic_module(共享)
  • authn_alias_module(共享)
  • authn_file_module(共享)
  • authnz_ldap_module(共享)
  • authz_default_module(共享)
  • authz_groupfile_module(共享)
  • authz_host_module(共享)
  • authz_user_module(共享)
  • autoindex_module(共享)
  • cgi_module(共享)
  • deflate_module(共享)
  • dir_module(共享)
  • env_module(共享)
  • ldap_module(共享)
  • mime_module(共享)
  • negotiation_module(共享)
  • php5_module(共享)
  • reqtimeout_module(共享)
  • rewrite_module(共享)
  • setenvif_module(共享)
  • ssl_module(共享)
  • status_module(共享)

我的网站配置是:

<IfModule mod_ssl.c>
<AuthnProviderAlias ldap ldap-grid>
        AuthLDAPBindDN cn=admin,dc=grid,dc=aau,dc=dk
        AuthLDAPBindPassword ***
        AuthLDAPURL ldap://harald:389/ou=People,dc=grid,dc=aau,dc=dk?uid?sub?(objectClass=*)
</AuthnProviderAlias>

<AuthnProviderAlias ldap ldap-es>
        AuthLDAPBindDN cn=admin,dc=es,dc=aau,dc=dk
        AuthLDAPBindPassword ***
        AuthLDAPURL ldap://harald:389/ou=People,dc=es,dc=aau,dc=dk?uid?sub?(objectClass=*)
</AuthnProviderAlias>

<VirtualHost *:443>
        ServerName aggersborg.grid.aau.dk
        ServerAdmin [email protected]

        DocumentRoot /opt/wiki
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                RedirectMatch ^/$ /wiki/
                Redirect /observium https://aggersborg.grid.aau.dk:8080
        </Directory>
        <Directory /opt/wiki/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All

                Order allow,deny
                allow from all

                AuthBasicProvider ldap-grid ldap-es
                AuthName "AAU HPC Wiki"
                AuthType Basic
                AuthzLDAPAuthoritative off

                Require valid-user
        </Directory>
...

有没有办法允许多个 ldap 基础登录我的 wiki?

答案1

所以我终于找到了解决我目前问题的方法。

通过在 /etc/apache2/sites-available/ 中的站点配置中添加以下内容,我能够使用来自两个 DN 的帐户登录。它应该在虚拟主机之外。

<AuthnProviderAlias ldap ldap-grid>
        AuthLDAPBindDN cn=admin,dc=grid,dc=aau,dc=dk
        AuthLDAPBindPassword ***
        AuthLDAPURL ldap://localhost:389/ou=People,dc=grid,dc=aau,dc=dk?uid?
        AuthLDAPBindAuthoritative off
</AuthnProviderAlias>

<AuthnProviderAlias ldap ldap-es>
        AuthLDAPBindDN cn=admin,dc=es,dc=aau,dc=dk
        AuthLDAPBindPassword ***
        AuthLDAPURL ldap://localhost:389/ou=People,dc=es,dc=aau,dc=dk?uid?sub?(objectClass=*)

</AuthnProviderAlias>

以下是来自 virtualhost 目录的配置:

            AuthBasicProvider ldap-grid ldap-es
            AuthType Basic
            AuthzLDAPAuthoritative off
            Require valid-user

相关内容