in manager/general/src/main/java/org/apache/doris/stack/connector/LdapUserAttributeMapper.java [50:100]
public Object mapFromAttributes(Attributes attrs) throws NamingException {
CoreUserEntity user = new CoreUserEntity();
// only check once
if (!flag) {
Set<String> ldapAttributes = new HashSet<>();
NamingEnumeration<? extends Attribute> all = attrs.getAll();
while (all.hasMore()) {
Attribute next = all.next();
ldapAttributes.add(next.getID());
}
if (!ldapAttributes.contains(ldapSettingReq.getLdapAttributeFirstName())) {
throw new BadRequestException(String.format("输入属性%s不存在", ldapSettingReq.getLdapAttributeFirstName()));
}
if (!ldapAttributes.contains(ldapSettingReq.getLdapAttributeLastName())) {
throw new BadRequestException(String.format("输入属性%s不存在", ldapSettingReq.getLdapAttributeLastName()));
}
flag = true;
}
// set uid as our firstName,in ldap first name is givenName
if (attrs.get(ldapSettingReq.getLdapAttributeFirstName()) != null) {
user.setFirstName(attrs.get(ldapSettingReq.getLdapAttributeFirstName()).get().toString());
} else {
user.setFirstName("");
}
// mail is not required
if (attrs.get(ldapSettingReq.getLdapAttributeEmail()) != null) {
user.setEmail(attrs.get(ldapSettingReq.getLdapAttributeEmail()).get().toString());
} else {
user.setEmail("");
}
// last name is sn
if (attrs.get(ldapSettingReq.getLdapAttributeLastName()) != null) {
user.setLastName(attrs.get(ldapSettingReq.getLdapAttributeLastName()).get().toString());
} else {
user.setLastName("");
}
if (attrs.get("entryUUID") != null) {
user.setEntryUUID(attrs.get("entryUUID").get().toString());
} else {
user.setEntryUUID("");
}
return user;
}