container-common/src/main/java/com/streamsets/datacollector/http/LdapLoginModule.java
@Override
  public UserInfo getUserInfo(String username) throws Exception
  {
    LdapEntry entry = getEntryWithCredential(username);

    if (entry == null)
    {
      return null;
    }

    String pwdCredential = getUserCredential(entry);
    pwdCredential = convertCredentialLdapToJetty(pwdCredential);
    Credential credential = Credential.getCredential(pwdCredential);
    List<String> roles = getUserRoles(username, entry.getDn());

    return new UserInfo(username, credential, roles);
  }
@Override
  public UserInfo getUserInfo(String username) throws Exception
  {
    LdapEntry entry = getEntryWithCredential(username);

    if (entry == null)
    {
      return null;
    }

    String pwdCredential = getUserCredential(entry);
    pwdCredential = convertCredentialLdapToJetty(pwdCredential);
    Credential credential = Credential.getCredential(pwdCredential);
    List<String> roles = getUserRoles(username, entry.getDn());

    return new UserInfo(username, credential, roles);
  }
get the available information about the user
<p/>
for this LoginModule, the credential can be null which will result in a
binding ldap authentication scenario
<p/>
roles are also an optional concept if required

@param username
@return the userinfo for the username
@throws Exception