如何在phpLDAPadmin用户列表中显示姓名而非uid?
修改phpLDAPadmin左侧用户列表显示内容的方法
phpLDAPadmin左侧条目默认显示uid的问题,界面设置里确实没有直观选项,得通过配置文件或模板调整,以下是几种可行方案:
方案1:修改全局配置(影响所有用户)
- 找到phpLDAPadmin的主配置文件,常见路径是
/etc/phpldapadmin/config.php或/var/www/phpldapadmin/config/config.php(根据你的安装路径调整)。 - 查找或添加
entry_display配置块:
$config->custom->appearance['entry_display'] = array( 'default' => '%{uid}', 'inetOrgPerson' => '%{sn}, %{givenname}', // 针对用户对象类设置显示格式 'groupOfNames' => '%{cn}' );
根据需求修改格式:
- 仅显示cn:
'%{cn}' - 姓氏+名字:
'%{sn}, %{givenname}' - 带属性名:
'sn=%{sn}, givenname=%{givenname}'
- 保存文件后重启Web服务(比如
systemctl restart apache2),刷新页面即可生效。
方案2:自定义用户偏好(仅当前登录用户生效)
- 登录phpLDAPadmin后,点击顶部的「Preferences」(偏好设置)。
- 左侧菜单选择「Appearance」(外观),找到「Entry Display Format」(条目显示格式)。
- 在对应条目类型(比如
inetOrgPerson,这是用户常用的LDAP对象类)的输入框中,填入你想要的格式:- 仅显示cn:
%{cn} - 姓氏+名字:
%{sn}, %{givenname} - 带属性名:
sn=%{sn}, givenname=%{givenname}
- 仅显示cn:
- 点击「Update Preferences」保存设置,刷新页面就能看到变化。
方案3:修改模板文件(适配旧版本)
如果你的phpLDAPadmin版本较旧,没有上述配置项,直接改模板:
- 找到模板文件
/var/www/phpldapadmin/templates/display/entry.php(路径可能因安装方式不同调整)。 - 查找类似获取uid的代码:
$display = $entry->getFirstAttribute('uid');
- 替换为你需要的格式:
// 显示姓氏+名字 $sn = $entry->getFirstAttribute('sn'); $givenname = $entry->getFirstAttribute('givenname'); $display = "$sn, $givenname"; // 或者显示cn // $display = $entry->getFirstAttribute('cn'); // 或者带属性名 // $display = "sn=$sn, givenname=$givenname";
- 保存文件后刷新页面即可生效。
内容的提问来源于stack exchange,提问作者AGI-Chandler
相关产品推荐
相关产品推荐

