C2. 使用LDAP认证

在配置文件auth-ldap.conf进行设置。

配置文件主要标签:

<enabled/><order/>——同Active Directory。

<server/>设定LDAP服务器地址。

<user-dn/>使用DOS类通配符确定将用户名转为DN的规则。

在标签<user-dn/>中允许使用的替代符号:

*替代所有符号串,但 . , = @ \ 和空格除外;

#替代所有符号串。

<user-dn-expr/>使用正则表达式确定将用户名转为DN的规则。

示例:同一规则的两种设定方式:

<user-dn user="*@example.com" dn="CN=\1,DC=example,DC=com"/>
<user-dn-expr user="(.*)@example.com" dn="CN=\1,DC=example,DC=com"/>

\1 .. \9确定模板中*、# 或括号中表达式的替代位置。

根据此规则:如用户名为login@example.com,则转换后的DN为:"CN=login,DC=example,DC=com"。

<user-dn-extension-enabled/>允许执行Lua脚本ldap_user_dn_translate.ds(从目录extensions)来将用户名转换为DN。此脚本在尝试user-dnuser-dn-expr所有规则失败后启用。脚本只有一个参数——输入的用户名。脚本执行后或返回DN,或返回为空。如所有规则失败,而不允许执行脚本或脚本执行后返回为空,则按原样使用输入的用户名。

转换后获得的LDAP对象DN属性和其可能值可用标签重新定义(以下为默认值):

<!-- DrWebAdmin attribute equivalent (OID 1.3.6.1.4.1.29690.1.3.1) -->
<admin-attribute-name value="DrWebAdmin" true-value="^TRUE$" false-value="^FALSE$"/>

true-value/false-value参数值使用正则表达式。

如有未确定的管理员属性值,而配置文件设置有<group-reference-attribute-name value="memberOf"/>标签,则memberOf属性值视为此管理员所属DN组列表,在这些组中搜索所需属性与使用Active Directory时相同。