/** * Check for a domain part in the provided username. * <br> * <b>Example:</b> * <br> * <pre> * LdapUtils.hasDomain("user1@mycorp.com") = true * LdapUtils.hasDomain("user1") = false * </pre> * @param userName username * @return true if {@code userName} contains {@code @<domain>} part */ public static boolean hasDomain(String userName) { return (ServiceUtils.indexOfDomainMatch(userName) > 0); }
/** * Extracts username from user DN. * <br> * <b>Examples:</b> * <pre> * LdapUtils.extractUserName("UserName") = "UserName" * LdapUtils.extractUserName("UserName@mycorp.com") = "UserName" * LdapUtils.extractUserName("cn=UserName,dc=mycompany,dc=com") = "UserName" * </pre> * @param userDn * @return */ public static String extractUserName(String userDn) { if (!isDn(userDn) && !hasDomain(userDn)) { return userDn; } int domainIdx = ServiceUtils.indexOfDomainMatch(userDn); if (domainIdx > 0) { return userDn.substring(0, domainIdx); } if (userDn.contains("=")) { return userDn.substring(userDn.indexOf("=") + 1, userDn.indexOf(",")); } return userDn; }
private String getShortName(String userName) throws IOException { String ret = null; if (userName != null) { if (hiveAuthFactory != null && hiveAuthFactory.isSASLKerberosUser()) { // KerberosName.getShorName can only be used for kerberos user, but not for the user // logged in via other authentications such as LDAP KerberosNameShim fullKerberosName = ShimLoader.getHadoopShims().getKerberosNameShim(userName); ret = fullKerberosName.getShortName(); } else { int indexOfDomainMatch = ServiceUtils.indexOfDomainMatch(userName); ret = (indexOfDomainMatch <= 0) ? userName : userName.substring(0, indexOfDomainMatch); } } return ret; }
private boolean hasDomain(String userName) { return (ServiceUtils.indexOfDomainMatch(userName) > 0); } }
private boolean hasDomain(String userName) { return (ServiceUtils.indexOfDomainMatch(userName) > 0); } }
private boolean hasDomain(String userName) { return (ServiceUtils.indexOfDomainMatch(userName) > 0); } }
private boolean hasDomain(String userName) { return (ServiceUtils.indexOfDomainMatch(userName) > 0); } }
/** * Check for a domain part in the provided username. * <br> * <b>Example:</b> * <br> * <pre> * LdapUtils.hasDomain("user1@mycorp.com") = true * LdapUtils.hasDomain("user1") = false * </pre> * @param userName username * @return true if {@code userName} contains {@code @<domain>} part */ public static boolean hasDomain(String userName) { return (ServiceUtils.indexOfDomainMatch(userName) > 0); }
private String getShortName(String userName) { String ret = null; if (userName != null) { int indexOfDomainMatch = ServiceUtils.indexOfDomainMatch(userName); ret = (indexOfDomainMatch <= 0) ? userName : userName.substring(0, indexOfDomainMatch); } return ret; }
private String getShortName(String userName) { String ret = null; if (userName != null) { int indexOfDomainMatch = ServiceUtils.indexOfDomainMatch(userName); ret = (indexOfDomainMatch <= 0) ? userName : userName.substring(0, indexOfDomainMatch); } return ret; }
private String getShortName(String userName) { String ret = null; if (userName != null) { int indexOfDomainMatch = ServiceUtils.indexOfDomainMatch(userName); ret = (indexOfDomainMatch <= 0) ? userName : userName.substring(0, indexOfDomainMatch); } return ret; }
private String getShortName(String userName) { String ret = null; if (userName != null) { int indexOfDomainMatch = ServiceUtils.indexOfDomainMatch(userName); ret = (indexOfDomainMatch <= 0) ? userName : userName.substring(0, indexOfDomainMatch); } return ret; }
/** * Extracts username from user DN. * <br> * <b>Examples:</b> * <pre> * LdapUtils.extractUserName("UserName") = "UserName" * LdapUtils.extractUserName("UserName@mycorp.com") = "UserName" * LdapUtils.extractUserName("cn=UserName,dc=mycompany,dc=com") = "UserName" * </pre> * @param userDn * @return */ public static String extractUserName(String userDn) { if (!isDn(userDn) && !hasDomain(userDn)) { return userDn; } int domainIdx = ServiceUtils.indexOfDomainMatch(userDn); if (domainIdx > 0) { return userDn.substring(0, domainIdx); } if (userDn.contains("=")) { return userDn.substring(userDn.indexOf("=") + 1, userDn.indexOf(",")); } return userDn; }
private String getShortName(String userName) throws IOException { String ret = null; if (userName != null) { if (hiveAuthFactory != null && hiveAuthFactory.isSASLKerberosUser()) { // KerberosName.getShorName can only be used for kerberos user, but not for the user // logged in via other authentications such as LDAP KerberosNameShim fullKerberosName = ShimLoader.getHadoopShims().getKerberosNameShim(userName); ret = fullKerberosName.getShortName(); } else { int indexOfDomainMatch = ServiceUtils.indexOfDomainMatch(userName); ret = (indexOfDomainMatch <= 0) ? userName : userName.substring(0, indexOfDomainMatch); } } return ret; }