我正在将两个 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