Search in sources :

Example 1 with OrganizationLdapEntry

use of org.platformlayer.service.openldap.ops.ldap.OrganizationLdapEntry in project platformlayer by platformlayer.

the class LdapDomainController method addChildren.

@Override
protected void addChildren() throws OpsException {
    LdapDomain ldapDomain = OpsContext.get().getInstance(LdapDomain.class);
    String hostName = ldapDomain.organizationName;
    LdapDN ldapBase = LdapServerUtilities.createBaseDN(hostName);
    File dataRoot = new File("/var/ldap/data");
    File dataDir = new File(dataRoot, hostName);
    String ldapBaseOrganization = hostName;
    ManagedFilesystemItem directory = ManagedDirectory.build(dataDir, "0700").setGroup("openldap").setOwner("openldap");
    addChild(directory);
    HdbDatabaseEntry db = buildDatabase(ldapBase, dataDir, hostName);
    addChild(db);
    OrganizationLdapEntry organization = buildOrganization(ldapBase, ldapBaseOrganization);
    organization.setTop(true);
    addChild(organization);
    String ldapAdminPassword = LdapPasswords.getLdapPasswordEncoded(ldapDomain.adminPassword.plaintext());
    OrganizationalRoleLdapEntry organizationalRole = buildOrganizationalRole(ldapBase, LdapAttributes.MANAGER_CN, "LDAP Administrator", ldapAdminPassword);
    addChild(organizationalRole);
    OrganizationalUnitLdapEntry users = buildOrganizationUnit(ldapBase, LdapAttributes.LDAP_USERS_CONTAINER_OU, "Users");
    addChild(users);
    OrganizationalUnitLdapEntry groups = buildOrganizationUnit(ldapBase, LdapAttributes.LDAP_GROUPS_CONTAINER_OU, "Groups");
    addChild(groups);
}
Also used : HdbDatabaseEntry(org.platformlayer.service.openldap.ops.ldap.HdbDatabaseEntry) OrganizationLdapEntry(org.platformlayer.service.openldap.ops.ldap.OrganizationLdapEntry) LdapDomain(org.platformlayer.service.openldap.model.LdapDomain) OrganizationalUnitLdapEntry(org.platformlayer.service.openldap.ops.ldap.OrganizationalUnitLdapEntry) ManagedFilesystemItem(org.platformlayer.ops.filesystem.ManagedFilesystemItem) File(java.io.File) OrganizationalRoleLdapEntry(org.platformlayer.service.openldap.ops.ldap.OrganizationalRoleLdapEntry) LdapDN(org.platformlayer.ops.ldap.LdapDN)

Example 2 with OrganizationLdapEntry

use of org.platformlayer.service.openldap.ops.ldap.OrganizationLdapEntry in project platformlayer by platformlayer.

the class LdapDomainController method buildOrganization.

private OrganizationLdapEntry buildOrganization(LdapDN ldapBase, String o) {
    LdapDNComponent head = ldapBase.getHead();
    if (!head.attributeName.equals("dc")) {
        throw new IllegalStateException("Unexpected DN: " + ldapBase);
    }
    String dc = head.value;
    OrganizationLdapEntry entry = OrganizationLdapEntry.build(o, dc, ldapBase);
    entry.setOnlyConfigureOnForce(true);
    return entry;
}
Also used : OrganizationLdapEntry(org.platformlayer.service.openldap.ops.ldap.OrganizationLdapEntry) LdapDNComponent(org.platformlayer.ops.ldap.LdapDN.LdapDNComponent)

Aggregations

OrganizationLdapEntry (org.platformlayer.service.openldap.ops.ldap.OrganizationLdapEntry)2 File (java.io.File)1 ManagedFilesystemItem (org.platformlayer.ops.filesystem.ManagedFilesystemItem)1 LdapDN (org.platformlayer.ops.ldap.LdapDN)1 LdapDNComponent (org.platformlayer.ops.ldap.LdapDN.LdapDNComponent)1 LdapDomain (org.platformlayer.service.openldap.model.LdapDomain)1 HdbDatabaseEntry (org.platformlayer.service.openldap.ops.ldap.HdbDatabaseEntry)1 OrganizationalRoleLdapEntry (org.platformlayer.service.openldap.ops.ldap.OrganizationalRoleLdapEntry)1 OrganizationalUnitLdapEntry (org.platformlayer.service.openldap.ops.ldap.OrganizationalUnitLdapEntry)1