我终于通过Jenkins LDAP plugin设法与我公司的Active Directory建立了联系。虽然一切正常但我发现登录用户的显示名称并不像预期的那样。
我在Jenkins安全配置中将字段Display Name LDAP attribute
配置为displayName
。但我的公司决定将其名称附加到AD中的每个displayName
属性。我想摆脱它,因为使用内部Jenkins,我们知道我们在哪里工作:)
我的想法是简单地从另一个AD属性中读取显示名称,但是没有包含姓氏后面的姓氏。 问题是:有没有办法在Jenkins LDAP插件中连接两个或多个AD属性?
我希望拥有“Forename姓氏”,并且我可以选择以下AD属性:
name
=“Forename Surname”或“forename.surname”(恼人地)displayName
=“Forename Surname | Company”givenName
=“Forename”sn
=“姓氏”用Java语法说话我只想要givenName + " " + sn
。有没有办法在Jenkins LDAP插件中这样做?
答案 0 :(得分:3)
查看source code of the Jenkins LDAP plugin,它看起来不允许连接。您提供的显示名称属性必须与一个属性的名称完全匹配。
这些是我所指的行(从第729行开始):
Attribute attribute = d.getAttributes().get(getDisplayNameAttributeName());
String displayName = attribute == null ? null : (String) attribute.get();
if (StringUtils.isNotBlank(displayName) && u.getId().equals(u.getFullName()) && !u.getFullName().equals(displayName)) {
u.setFullName(displayName);
}