Example usage for javax.naming.directory BasicAttributes BasicAttributes

List of usage examples for javax.naming.directory BasicAttributes BasicAttributes

Introduction

In this page you can find the example usage for javax.naming.directory BasicAttributes BasicAttributes.

Prototype

public BasicAttributes(boolean ignoreCase) 

Source Link

Document

Constructs a new instance of Attributes.

Usage

From source file:com.swdouglass.joid.store.DirectoryStoreImpl.java

public DirectoryStoreImpl() {
    try {//www  .j  a  va 2  s .  c  o  m
        // Set up environment for creating the initial context
        initialCtx = DirectoryUtil.getInitialDirContext();

        this.setOuOpenID(OU.concat(DirectoryUtil.getProperty(OU_OPENID_PROP, OU_OPENID_PROP_DEFAULT)));
        this.setOuAssociation(
                OU.concat(DirectoryUtil.getProperty(OU_ASSOCIATION_PROP, OU_ASSOCIATION_PROP_DEFAULT)));
        this.setOuNonce(OU.concat(DirectoryUtil.getProperty(OU_NONCE_PROP, OU_NONCE_PROP_DEFAULT)));

        //try to create parent contexes
        Attributes attrs = new BasicAttributes(true); // case-ignore
        Attribute objclass = new BasicAttribute("objectclass");
        objclass.add("top");
        objclass.add("organizationalUnit");
        attrs.put(objclass);
        DirContext baseCtx = initialCtx.createSubcontext(ouOpenID, attrs);
        baseCtx.createSubcontext(ouAssociation, attrs);
        baseCtx.createSubcontext(ouNonce, attrs);

    } catch (NameAlreadyBoundException ex) {
        //ignore
    } catch (Exception ex) {
        log.warn(ex);
        ex.printStackTrace();
    }
}

From source file:py.una.pol.karaku.util.LDAPUtil.java

/**
 * Recupera los usuarios de LDAP//from w  w  w .  j a v a  2 s  .  c  o m
 * 
 * @return Una lista con los usuarios de LDAP
 */
public List<User> getUsers() {

    List<User> users = new ArrayList<User>();

    try {
        DirContext ctx = createInitialDirContext();

        Attributes matchAttrs = new BasicAttributes(true);
        matchAttrs.put(new BasicAttribute("uid"));

        NamingEnumeration<SearchResult> answer = ctx.search("ou=users", matchAttrs);

        while (answer.hasMore()) {
            SearchResult sr = answer.next();
            String uid = sr.getName().substring(4);
            // No se retornan los usuarios especiales
            if (!uid.startsWith(LDAP_SPECIAL_USER_PREFIX) && !ListHelper.contains(EXCLUDED_USERS, uid)) {
                User user = new User();
                user.setUid(uid);
                Attributes atributos = sr.getAttributes();
                String cn = atributos.get("cn").toString().substring(4);
                user.setCn(cn);
                users.add(user);
            }
        }

    } catch (NamingException e) {
        throw new KarakuRuntimeException(e.getMessage(), e);
    }

    return users;

}

From source file:org.apache.archiva.redback.rbac.ldap.LdapRbacManagerTest.java

/**
 * Creates a new RbacStore which contains no data.
 *///from  ww w .  j a  va 2s  . c  o  m
@Before
public void setUp() throws Exception {
    super.setUp();
    this.clearCache();
    setRbacManager(rbacManager);

    assertTrue(getRbacManager() instanceof LdapRbacManager);

    rbacManager.setWritableLdap(true);

    rbacManager.getRbacImpl().eraseDatabase();

    passwordEncoder = new SHA1PasswordEncoder();

    usersPerGroup = new HashMap<String, List<String>>(3);

    usersPerGroup.put("theADMIN", Arrays.asList("admin", "user.9", "bob"));

    usersPerGroup.put("thePROJECT_ADMIN", Arrays.asList("admin", "bob"));

    usersPerGroup.put("theDEVELOPER", Arrays.asList("admin", "user.7", "bob"));

    users = new ArrayList<String>(4);
    users.add("admin");
    users.add("user.7");
    users.add("user.8");
    users.add("user.9");

    groupSuffix = apacheDs.addSimplePartition("test", new String[] { "archiva", "apache", "org" }).getSuffix();

    log.info("groupSuffix: {}", groupSuffix);

    suffix = "ou=People,dc=archiva,dc=apache,dc=org";

    log.info("DN Suffix: {}", suffix);

    apacheDs.startServer();

    BasicAttribute objectClass = new BasicAttribute("objectClass");
    objectClass.add("top");
    objectClass.add("organizationalUnit");

    Attributes attributes = new BasicAttributes(true);
    attributes.put(objectClass);
    attributes.put("organizationalUnitName", "foo");

    apacheDs.getAdminContext().createSubcontext(suffix, attributes);

}

From source file:org.apache.archiva.redback.rest.services.LdapGroupMappingServiceTest.java

private void createGroup(DirContext context, String groupName, String dn) throws Exception {

    Attributes attributes = new BasicAttributes(true);
    BasicAttribute objectClass = new BasicAttribute("objectClass");
    objectClass.add("top");
    objectClass.add("groupOfUniqueNames");
    attributes.put(objectClass);/*www .  j  ava 2 s.c  om*/
    attributes.put("cn", groupName);
    BasicAttribute basicAttribute = new BasicAttribute("uniquemember");

    basicAttribute.add("uid=admin," + suffix);

    attributes.put(basicAttribute);
    context.createSubcontext(dn, attributes);
}

From source file:com.liferay.portal.security.ldap.BasePortalToLDAPConverter.java

public Attributes getLDAPGroupAttributes(long ldapServerId, UserGroup userGroup, User user,
        Properties groupMappings, Properties userMappings) throws Exception {

    Attributes attributes = new BasicAttributes(true);

    Attribute objectClass = new BasicAttribute(_OBJECT_CLASS);

    String postfix = LDAPSettingsUtil.getPropertyPostfix(ldapServerId);

    String[] defaultObjectClasses = PrefsPropsUtil.getStringArray(userGroup.getCompanyId(),
            PropsKeys.LDAP_GROUP_DEFAULT_OBJECT_CLASSES + postfix, StringPool.COMMA);

    for (int i = 0; i < defaultObjectClasses.length; i++) {
        objectClass.add(defaultObjectClasses[i]);
    }/*from   www. j  av a  2 s . co m*/

    attributes.put(objectClass);

    addAttributeMapping(groupMappings.getProperty(GroupConverterKeys.GROUP_NAME), userGroup.getName(),
            attributes);
    addAttributeMapping(groupMappings.getProperty(GroupConverterKeys.DESCRIPTION), userGroup.getDescription(),
            attributes);
    addAttributeMapping(groupMappings.getProperty(GroupConverterKeys.USER),
            getUserDNName(ldapServerId, user, userMappings), attributes);

    return attributes;
}

From source file:security.AuthenticationManager.java

public static Map<String, String> getUserAttributes(DirContext ctx, String searchBase, String userName,
        String principalDomain, String... attributeNames) throws NamingException {
    if (StringUtils.isBlank(userName)) {
        throw new IllegalArgumentException("Username and password can not be blank.");
    }/*from w  w  w  . java 2 s.  c  o  m*/

    if (attributeNames.length == 0) {
        return Collections.emptyMap();
    }

    Attributes matchAttr = new BasicAttributes(true);
    BasicAttribute basicAttr = new BasicAttribute("userPrincipalName", userName + principalDomain);
    matchAttr.put(basicAttr);

    NamingEnumeration<? extends SearchResult> searchResult = ctx.search(searchBase, matchAttr, attributeNames);

    if (ctx != null) {
        ctx.close();
    }

    Map<String, String> result = new HashMap<>();

    if (searchResult.hasMore()) {
        NamingEnumeration<? extends Attribute> attributes = searchResult.next().getAttributes().getAll();

        while (attributes.hasMore()) {
            Attribute attr = attributes.next();
            String attrId = attr.getID();
            String attrValue = (String) attr.get();

            result.put(attrId, attrValue);
        }
    }
    return result;
}

From source file:org.apache.archiva.redback.common.ldap.role.TestLdapRoleMapper.java

@Before
public void setUp() throws Exception {
    super.setUp();

    usersPerGroup = new HashMap<String, List<String>>(3);

    usersPerGroup.put("internal-repo-manager", Arrays.asList("admin", "user.9"));
    usersPerGroup.put("internal-repo-observer", Arrays.asList("admin", "user.7", "user.8"));
    usersPerGroup.put("archiva-admin", Arrays.asList("admin", "user.7"));

    users = new ArrayList<String>(4);
    users.add("admin");
    users.add("user.7");
    users.add("user.8");
    users.add("user.9");

    passwordEncoder = new SHA1PasswordEncoder();

    groupSuffix = apacheDs.addSimplePartition("test", new String[] { "archiva", "apache", "org" }).getSuffix();

    log.info("groupSuffix: {}", groupSuffix);

    suffix = "ou=People,dc=archiva,dc=apache,dc=org";

    log.info("DN Suffix: {}", suffix);

    apacheDs.startServer();//from  ww  w  .  j  av  a2  s  . c om

    BasicAttribute objectClass = new BasicAttribute("objectClass");
    objectClass.add("top");
    objectClass.add("organizationalUnit");

    Attributes attributes = new BasicAttributes(true);
    attributes.put(objectClass);
    attributes.put("organizationalUnitName", "foo");

    apacheDs.getAdminContext().createSubcontext(suffix, attributes);

    makeUsers();

    createGroups();

}

From source file:org.apache.ftpserver.usermanager.LdapUserManager.java

/**
 * Get all user names.//from w  ww . j  a  v a  2  s  . com
 */
public synchronized Collection getAllUserNames() throws FtpException {

    try {
        // search ldap
        Attributes matchAttrs = new BasicAttributes(true);
        matchAttrs.put(m_objClassAttr);
        matchAttrs.put(new BasicAttribute(CLASS_NAME, BaseUser.class.getName()));
        NamingEnumeration answers = m_adminContext.search(m_userBaseDn, matchAttrs, CN_ATTRS);
        m_log.info("Getting all users under " + m_userBaseDn);

        // populate list
        ArrayList allUsers = new ArrayList();
        while (answers.hasMore()) {
            SearchResult sr = (SearchResult) answers.next();
            String cn = sr.getAttributes().get(CN).get().toString();
            allUsers.add(cn);
        }
        Collections.sort(allUsers);
        return allUsers;
    } catch (NamingException ex) {
        m_log.error("LdapUserManager.getAllUserNames()", ex);
        throw new FtpException("LdapUserManager.getAllUserNames()", ex);
    }
}

From source file:org.apache.archiva.redback.rbac.ldap.LdapRbacManagerTest.java

private void createGroup(DirContext context, String groupName, String dn, List<String> users) throws Exception {

    Attributes attributes = new BasicAttributes(true);
    BasicAttribute objectClass = new BasicAttribute("objectClass");
    objectClass.add("top");
    objectClass.add("groupOfUniqueNames");
    attributes.put(objectClass);/*from  ww w  .j a  va  2 s  . c  o  m*/
    attributes.put("cn", groupName);
    if (!users.isEmpty()) {
        BasicAttribute basicAttribute = new BasicAttribute("uniquemember");
        for (String user : users) {
            basicAttribute.add("uid=" + user + "," + suffix);// dc=archiva,dc=apache,dc=org" );
        }

        attributes.put(basicAttribute);
    }

    context.createSubcontext(dn, attributes);
}

From source file:py.una.pol.karaku.security.KarakuUserService.java

private List<KarakuPermission> loadAuthoritiesByDn(String uid) {

    List<KarakuPermission> listaRoles = new ArrayList<KarakuPermission>();

    try {/*from   w  w w. ja va 2  s . c  o m*/
        DirContext ctx = getInitialDirContext(propertiesUtil.get(LDAP_ADMIN_KEY),
                propertiesUtil.get(LDAP_ADMIN_PASS_KEY));
        Attributes matchAttrs = new BasicAttributes(true);
        matchAttrs.put(new BasicAttribute("member", getRealUsername(uid)));
        NamingEnumeration<SearchResult> answer = ctx.search("ou=permissions", matchAttrs);

        while (answer.hasMore()) {
            SearchResult searchResult = answer.next();
            Attributes attributes = searchResult.getAttributes();
            Attribute attr = attributes.get("cn");
            String rol = (String) attr.get();
            KarakuPermission grantedAuthority = new KarakuPermission(rol);
            listaRoles.add(grantedAuthority);
        }

        return listaRoles;
    } catch (NamingException e) {
        LOG.warn("Can't create Ldap Context", e);
        return Collections.emptyList();
    }
}