- private LdapName kerberosToIpa(KerberosPrincipal kerberosPrincipal) {
- String[] kname = kerberosPrincipal.getName().split("@");
- String username = kname[0];
- String[] dcs = kname[1].split("\\.");
- StringBuilder sb = new StringBuilder();
- for (String dc : dcs) {
- sb.append(',').append(LdapAttrs.dc.name()).append('=').append(dc.toLowerCase());
- }
- String dn = LdapAttrs.uid + "=" + username + ",cn=users,cn=accounts" + sb;
- try {
- return new LdapName(dn);
- } catch (InvalidNameException e) {
- throw new CmsException("Badly formatted name for " + kerberosPrincipal + ": " + dn);
- }
- }