我创建了一个自定义LdapUserDetailsMapper
类来将扩展属性映射到一个自定义UserDetails
类,该类包含诸如displayName
,之类的额外属性telephoneNumber
,department
仅举几例。我设法通过访问属性来填充这些属性DirContextOperation
,即
res.givenName = ctx.getStringAttribute("givenName");
但是,我不希望对此进行硬编码,并且希望这些属性可配置,这很好,尽管我也想使用 LDAP 表达式来返回由该表达式产生的值,即
res.givenName = ctx.getStringAttribute("givenName + ' ' + sn");
这当然行不通。我可以在任何连接之前手动解析模式并检索组件,但这听起来像是我想象框架已经提供的工作。