Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/TestLdapSecurityMappingHandler.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/TestLdapSecurityMappingHandler.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/TestLdapSecurityMappingHandler.java (working copy)
@@ -98,8 +98,6 @@
String fullPathName = new GroupPrincipalImpl(gpUid1).getName();
logger.debug("Group full path name from testGetUserPrincipalsInGroup()[" + fullPathName + "]");
Set userPrincipals = secHandler.getUserPrincipalsInGroup(fullPathName);
- //assertTrue(userPrincipals.contains(new UserPrincipalImpl("uid=" + uid1 + ",ou=People,ou=OrgUnit1")));
- //assertTrue(userPrincipals.contains(new UserPrincipalImpl("uid=" + uid2 + ",ou=People,ou=OrgUnit1")));
assertTrue(userPrincipals.contains(new UserPrincipalImpl(uid1)));
assertTrue(userPrincipals.contains(new UserPrincipalImpl(uid2)));
@@ -215,14 +213,34 @@
secHandler.setRolePrincipalInGroup(gpUid1, ro1.getName());
secHandler.setRolePrincipalInGroup(gpUid1, ro2.getName());
secHandler.setRolePrincipalInGroup(gpUid2, ro1.getName());
+
+ String fullPathName = new RolePrincipalImpl(roleUid1).getName();
+ logger.debug("Role full path name from testGetUserPrincipalsInRole()[" + fullPathName + "]");
+ assertEquals("The group should have 2 roles.", 2, secHandler.getRolePrincipalsInGroup(gpUid1).size());
+ assertEquals("The group should have 1 role.", 1, secHandler.getRolePrincipalsInGroup(gpUid2).size());
+ }
+
+ /**
+ * Adds 2 roles + 1 user to a group and checks their presence in the group.
+ *
+ * @throws Exception
+ */
+ public void testGetRolePrincipalInGroupWithUsersInIt() throws Exception
+ {
+ secHandler.setRolePrincipalInGroup(gpUid1, ro1.getName());
+ secHandler.setRolePrincipalInGroup(gpUid1, ro2.getName());
+ secHandler.setRolePrincipalInGroup(gpUid2, ro1.getName());
+ secHandler.setUserPrincipalInGroup(uid1,gpUid1);
+
String fullPathName = new RolePrincipalImpl(roleUid1).getName();
logger.debug("Role full path name from testGetUserPrincipalsInRole()[" + fullPathName + "]");
assertEquals("The group should have 2 roles.", 2, secHandler.getRolePrincipalsInGroup(gpUid1).size());
assertEquals("The group should have 1 role.", 1, secHandler.getRolePrincipalsInGroup(gpUid2).size());
- }
+ }
+
/**
* Adds 2 users to a group and checks their presence in the group
*
@@ -281,7 +299,6 @@
{
secHandler.setUserPrincipalInRole(uid1, ro1.getName());
secHandler.setUserPrincipalInRole(uid1, ro2.getName());
-
assertEquals("The user should have been in two roles.", 2, secHandler.getRolePrincipals(uid1).size());
secHandler.removeUserPrincipalInRole(uid1, ro1.getName());
@@ -292,7 +309,23 @@
}
+ /**
+ * @throws Exception
+ */
+ public void testRemoveRolePrincipalInGroup() throws Exception
+ {
+ secHandler.setRolePrincipalInGroup(gpUid1, ro1.getName());
+ secHandler.setRolePrincipalInGroup(gpUid1, ro2.getName());
+ assertEquals("The role should have been in two groups.", 2, secHandler.getRolePrincipalsInGroup(gpUid1).size());
+ secHandler.removeRolePrincipalInGroup(gpUid1,ro1.getName());
+ assertEquals("The role should have been in one group.", 1, secHandler.getRolePrincipalsInGroup(gpUid1).size());
+
+ secHandler.removeRolePrincipalInGroup(gpUid1, ro2.getName());
+ assertEquals("The role should have been in 0 roles.", 0, secHandler.getRolePrincipalsInGroup(gpUid1).size());
+ }
+
+
/**
* @throws Exception
*/
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/AbstractLdapTest.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/AbstractLdapTest.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/AbstractLdapTest.java (working copy)
@@ -49,6 +49,8 @@
*/
public abstract class AbstractLdapTest extends TestCase
{
+ private static final String LDAP_CONFIG = "apacheds/setup3";
+
/** The {@link UserSecurityHandler}. */
UserSecurityHandler userHandler;
@@ -101,6 +103,7 @@
/** The test password. */
protected String password = "fred";
+
/**
* @see junit.framework.TestCase#setUp()
@@ -108,7 +111,7 @@
protected void setUp() throws Exception
{
super.setUp();
- LdapBindingConfig ldapConfig = new LdapBindingConfig("apacheds");
+ LdapBindingConfig ldapConfig = new LdapBindingConfig(LDAP_CONFIG);
ldapCredDao = new LdapUserCredentialDaoImpl(ldapConfig);
ldapPrincipalDao = new LdapUserPrincipalDaoImpl(ldapConfig);
@@ -116,8 +119,6 @@
crHandler = new LdapCredentialHandler(ldapCredDao);
LdapDataHelper.setUserSecurityHandler(userHandler);
LdapDataHelper.setCredentialHandler(crHandler);
-// uid1 = Integer.toString(rand.nextInt());
-// uid2 = Integer.toString(rand.nextInt());
ldapGroupDao = new LdapGroupDaoImpl(ldapConfig);
ldapRoleDao = new LdapRoleDaoImpl(ldapConfig);
@@ -126,11 +127,6 @@
roleHandler = new LdapRoleSecurityHandler(ldapRoleDao);
LdapDataHelper.setGroupSecurityHandler(grHandler);
LdapDataHelper.setRoleSecurityHandler(roleHandler);
-// gpUid1 = Integer.toString(rand.nextInt());
-// gpUid2 = Integer.toString(rand.nextInt());
-//
-// roleUid1 = Integer.toString(rand.nextInt());
-// roleUid2 = Integer.toString(rand.nextInt());
secHandler = new LdapSecurityMappingHandler(ldapPrincipalDao, ldapGroupDao, ldapRoleDao);
}
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/TestLdapRoleSecurityHandler.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/TestLdapRoleSecurityHandler.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/org/apache/jetspeed/security/spi/ldap/TestLdapRoleSecurityHandler.java (working copy)
@@ -51,7 +51,6 @@
public void testGetRolePrincipal() throws Exception
{
String fullPath = (new RolePrincipalImpl(roleUid1)).getFullPath();
- //RolePrincipal rolePrincipal = grHandler.getRolePrincipal(fullPath);
RolePrincipal rolePrincipal = roleHandler.getRolePrincipal(roleUid1);
assertNotNull("Role was not found.", rolePrincipal);
assertEquals(roleUid1,rolePrincipal.getName());
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/ldap/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/ldap/ldap.properties (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/ldap/ldap.properties (working copy)
@@ -1,11 +0,0 @@
-# Ldap Configuration.
-org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
-org.apache.jetspeed.ldap.ldapServerName=localhost
-org.apache.jetspeed.ldap.ldapServerPort=10389
-org.apache.jetspeed.ldap.rootDn=uid\=admin\,ou\=system
-org.apache.jetspeed.ldap.rootPassword=secret
-org.apache.jetspeed.ldap.rootContext=o\=sevenSeas
-org.apache.jetspeed.ldap.defaultDnSuffix=
-org.apache.jetspeed.ldap.ou.users=people
-org.apache.jetspeed.ldap.ou.groups=groups
-org.apache.jetspeed.ldap.ou.roles=roles
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi.xml (working copy)
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
- JETSPEED-INF/ojb/security_repository.xml
-
-
-
-
- org.apache.jetspeed.security.spi.SecurityAccess
-
-
-
-
-
-
- PROPAGATION_REQUIRED
- PROPAGATION_REQUIRED
- PROPAGATION_SUPPORTS
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/company1.ldif (revision 0)
@@ -0,0 +1,224 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+dn: ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,o=sevenSeas
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,o=sevenSeas
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+uniqueMember: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+uniqueMember: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role1
+
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role2
+
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role3
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: manager
+
+dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1 OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2 OrgUnit1User2
+
+dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1 OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+memberOf: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+sn: OrgUnit2User2
+cn: OrgUnit2User2 OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+memberOf: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1 OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+memberOf: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2 OrgUnit3User2
+
+dn: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+memberOf: cn=admin,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+sn: admin
+cn: admin admin
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=cn=Manager\,o=sevenSeas
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=o=sevenSeas
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=memberOf
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=member
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=ou=Roles\,ou=OrgUnit1
+org.apache.jetspeed.ldap.GroupFilterBase=ou=Groups\,ou=OrgUnit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=People\,ou=OrgUnit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=member
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}
+org.apache.jetspeed.ldap.roleAttributes=
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/README.TXT
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/README.TXT (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/README.TXT (revision 0)
@@ -0,0 +1,39 @@
+objectclass ( 2.5.6.9 NAME 'groupOfNames'
+ DESC 'RFC2256: a group of names (DNs)'
+ SUP top STRUCTURAL
+ MUST ( member $ cn )
+ MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
+
+
+objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames'
+ DESC 'RFC2256: a group of unique names (DN and Unique Identifier)'
+ SUP top STRUCTURAL
+ MUST (uniqueMember $ cn )
+ MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
+
+
+objectclass ( 2.16.840.1.113730.3.2.2
+ NAME 'inetOrgPerson'
+ DESC 'RFC2798: Internet Organizational Person'
+ SUP organizationalPerson
+ STRUCTURAL
+ MAY (
+ memberOf $ audio $ businessCategory $ carLicense $ departmentNumber $
+ displayName $ employeeNumber $ employeeType $ givenName $
+ homePhone $ homePostalAddress $ initials $ jpegPhoto $
+ labeledURI $ mail $ manager $ mobile $ o $ pager $
+ photo $ roomNumber $ secretary $ uid $ userCertificate $
+ x500uniqueIdentifier $ preferredLanguage $
+ userSMIMECertificate $ userPKCS12 )
+ )
+
+
+
+Notice how the memberOf attribute was added to the inetOrgPerson objectclass.
+OpenLDAP doesn't support this attribute out of the box, so the attribute had to be created
+
+attributetype ( 9.9.9.9 NAME 'memberOf'
+ DESC 'determines group membership on the user object'
+ SUP distinguishedName )
+
+The attribute was added to support setting group membership on the user object.
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup1/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=sevenSeas
+
+ cn=Manager,o=sevenSeas
+
+ secret
+
+ (objectclass=groupOfNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+
+
+ memberOf
+
+ uniqueMember
+
+
+
+
+
+ member
+
+
+
+ ou=Roles,ou=OrgUnit1
+
+ ou=Groups,ou=OrgUnit1
+
+ ou=People,ou=OrgUnit1
+
+ top,groupOfNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ member
+
+ uniqueMember
+
+ sn={u},cn={u}
+
+
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/company1.ldif (revision 0)
@@ -0,0 +1,221 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfUniqueNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+dn: ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,o=sevenSeas
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,o=sevenSeas
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+uniqueMember: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+uniqueMember: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
+uniqueMember: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
+uniqueMember: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
+uniqueMember: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
+uniqueMember: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+uniqueMember: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+uniqueMember: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
+uniqueMember: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+uniqueMember: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:uid=admin,ou=People,ou=OrgUnit1
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:uid=admin,ou=People,ou=OrgUnit1
+cn: manager
+
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role1
+
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role2
+
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role3
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+cn: manager
+
+dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1 OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2 OrgUnit1User2
+
+dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1 OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2 OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1 OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2 OrgUnit3User2
+
+dn: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: admin
+cn: admin admin
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=cn=Manager\,o=sevenSeas
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=o=sevenSeas
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=ou=Roles\,ou=OrgUnit1
+org.apache.jetspeed.ldap.GroupFilterBase=ou=Groups\,ou=OrgUnit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=People\,ou=OrgUnit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=uniqueMember
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}
+org.apache.jetspeed.ldap.roleAttributes=
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup2/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=sevenSeas
+
+ cn=Manager,o=sevenSeas
+
+ secret
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+
+
+ ou=Roles,ou=OrgUnit1
+
+ ou=Groups,ou=OrgUnit1
+
+ ou=People,ou=OrgUnit1
+
+ top,groupOfUniqueNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ uniqueMember
+
+ uniqueMember
+
+ sn={u},cn={u}
+
+
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/company1.ldif (revision 0)
@@ -0,0 +1,221 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+dn: ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,o=sevenSeas
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,o=sevenSeas
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role1
+
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role2
+
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role3
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: manager
+
+dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1 OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2 OrgUnit1User2
+
+dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1 OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+memberOf: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+sn: OrgUnit2User2
+cn: OrgUnit2User2 OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+memberOf: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1 OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+memberOf: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2 OrgUnit3User2
+
+dn: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+memberOf: cn=admin,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+memberOf: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+sn: admin
+cn: admin admin
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=cn=Manager\,o=sevenSeas
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=o=sevenSeas
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=memberOf
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=memberOf
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=member
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=ou=Roles\,ou=OrgUnit1
+org.apache.jetspeed.ldap.GroupFilterBase=ou=Groups\,ou=OrgUnit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=People\,ou=OrgUnit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=member
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}
+org.apache.jetspeed.ldap.roleAttributes=
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup3/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=sevenSeas
+
+ cn=Manager,o=sevenSeas
+
+ secret
+
+ (objectclass=groupOfNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+
+
+ memberOf
+
+
+
+ memberOf
+
+
+
+ member
+
+
+
+ ou=Roles,ou=OrgUnit1
+
+ ou=Groups,ou=OrgUnit1
+
+ ou=People,ou=OrgUnit1
+
+ top,groupOfNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ member
+
+ uniqueMember
+
+ sn={u},cn={u}
+
+
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/company1.ldif (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/company1.ldif (working copy)
@@ -1,197 +0,0 @@
-# Sample LDIF file for populating an OpenLDAP
-
-dn: ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: organizationalunit
-ou: OrgUnit1
-
-dn: ou=OrgUnit2,o=sevenSeas
-ou: OrgUnit2
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=OrgUnit3,o=sevenSeas
-ou: OrgUnit3
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=People,ou=OrgUnit1,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Groups,ou=OrgUnit1,o=sevenSeas
-ou: Groups
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Roles,ou=OrgUnit1,o=sevenSeas
-ou: Roles
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: ou=People,ou=OrgUnit2,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Groups,ou=OrgUnit2,o=sevenSeas
-ou: Groups
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Roles,ou=OrgUnit2,o=sevenSeas
-ou: Roles
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=People,ou=OrgUnit3,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Groups,ou=OrgUnit3,o=sevenSeas
-ou: Groups
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Roles,ou=OrgUnit3,o=sevenSeas
-ou: Roles
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Group1
-
-dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Group2
-
-dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Group3
-
-dn: cn=admin,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-uniqueMember:uid=admin,ou=People,ou=OrgUnit1
-cn: admin
-
-dn: cn=manager,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-uniqueMember:uid=admin,ou=People,ou=OrgUnit1
-cn: manager
-
-dn: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Role1
-
-
-dn: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Role2
-
-
-dn: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Role3
-
-dn: cn=admin,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-uniqueMember: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
-cn: admin
-
-dn: cn=manager,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: manager
-
-dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: OrgUnit1User1
-givenName: OrgUnit1User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit1User1
-cn: OrgUnit1User1 OrgUnit1User1
-
-dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: OrgUnit1User2
-givenName: OrgUnit1User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit1User2
-cn: OrgUnit1User2 OrgUnit1User2
-
-dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
-uid: OrgUnit2User1
-givenName: OrgUnit2User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit2User1
-cn: OrgUnit2User1 OrgUnit2User1
-
-dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
-uid: OrgUnit2User2
-givenName: OrgUnit2User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit2User2
-cn: OrgUnit2User2 OrgUnit2User2
-
-
-dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
-uid: OrgUnit3User1
-givenName: OrgUnit3User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit3User1
-cn: OrgUnit3User1 OrgUnit3User1
-
-dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
-uid: OrgUnit3User2
-givenName: OrgUnit3User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit3User2
-cn: OrgUnit3User2 OrgUnit3User2
-
-dn: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: admin
-givenName: admin
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: admin
-sn: admin
-cn: admin admin
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/company1.ldif (revision 0)
@@ -0,0 +1,176 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfUniqueNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+dn: ou=People,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+uniqueMember: cn=OrgUnit1User1,ou=People,o=sevenSeas
+uniqueMember: cn=OrgUnit1User2,ou=People,o=sevenSeas
+uniqueMember: cn=OrgUnit2User1,ou=People,o=sevenSeas
+uniqueMember: cn=OrgUnit2User2,ou=People,o=sevenSeas
+uniqueMember: cn=OrgUnit3User1,ou=People,o=sevenSeas
+uniqueMember: cn=OrgUnit3User2,ou=People,o=sevenSeas
+uniqueMember: cn=adminuser,ou=People,o=sevenSeas
+cn: Group1
+
+dn: cn=Group2,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+uniqueMember: cn=OrgUnit1User1,ou=People,o=sevenSeas
+uniqueMember: cn=OrgUnit2User1,ou=People,o=sevenSeas
+uniqueMember: cn=OrgUnit3User1,ou=People,o=sevenSeas
+uniqueMember: cn=adminuser,ou=People,o=sevenSeas
+cn: Group2
+
+dn: cn=Group3,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+uniqueMember: cn=OrgUnit1User1,ou=People,o=sevenSeas
+cn: Group3
+
+dn: cn=adminGroup,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: adminGroup
+
+dn: cn=managerGroup,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: cn=adminuser,ou=People,o=sevenSeas
+cn: managerGroup
+
+dn: cn=Role1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+member: cn=OrgUnit1User2,ou=People,o=sevenSeas
+cn: Role1
+
+
+dn: cn=Role2,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+member: cn=OrgUnit1User2,ou=People,o=sevenSeas
+member: cn=OrgUnit2User2,ou=People,o=sevenSeas
+member: cn=OrgUnit3User2,ou=People,o=sevenSeas
+cn: Role2
+
+
+dn: cn=Role3,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member:
+member: cn=OrgUnit1User1,ou=People,o=sevenSeas
+member: cn=OrgUnit1User2,ou=People,o=sevenSeas
+member: cn=OrgUnit2User1,ou=People,o=sevenSeas
+member: cn=OrgUnit2User2,ou=People,o=sevenSeas
+member: cn=OrgUnit3User1,ou=People,o=sevenSeas
+member: cn=OrgUnit3User2,ou=People,o=sevenSeas
+member: cn=adminuser,ou=People,o=sevenSeas
+cn: Role3
+
+dn: cn=admin,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member: cn=adminuser,ou=People,o=sevenSeas
+cn: admin
+
+dn: cn=manager,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+member: cn=adminuser,ou=People,o=sevenSeas
+cn: manager
+
+dn: cn=OrgUnit1User1,ou=People,o=sevenSeas
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1
+
+dn: cn=OrgUnit1User2,ou=People,o=sevenSeas
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2
+
+dn: cn=OrgUnit2User1,ou=People,o=sevenSeas
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1
+
+dn: cn=OrgUnit2User2,ou=People,o=sevenSeas
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2
+
+
+dn: cn=OrgUnit3User1,ou=People,o=sevenSeas
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1
+
+dn: cn=OrgUnit3User2,ou=People,o=sevenSeas
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2
+
+dn: cn=adminuser,ou=People,o=sevenSeas
+uid: adminuser
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: adminuser
+cn: adminuser
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=cn=Manager,o=sevenSeas
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=o=sevenSeas
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=member
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=
+org.apache.jetspeed.ldap.GroupFilterBase=
+org.apache.jetspeed.ldap.UserFilterBase=ou=People
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=member
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=cn
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,uid={u}
+org.apache.jetspeed.ldap.roleAttributes=
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup4/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=sevenSeas
+
+ cn=Manager,o=sevenSeas
+
+ secret
+
+ (objectclass=groupOfNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+ member
+
+
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+
+
+
+
+
+
+ ou=People
+
+ top,groupOfNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ cn
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ member
+
+ uniqueMember
+
+ sn={u},uid={u}
+
+
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/company1.ldif (revision 0)
@@ -0,0 +1,219 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfUniqueNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+dn: ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,o=sevenSeas
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,o=sevenSeas
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,o=sevenSeas
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:uid=admin,ou=People,ou=OrgUnit1
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:uid=admin,ou=People,ou=OrgUnit1
+cn: manager
+
+dn: uid=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+objectClass: uidObject
+member:
+cn: Role1
+uid: Role1
+
+
+dn: uid=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+objectClass: uidObject
+member:
+cn: Role2
+uid: Role2
+
+
+dn: uid=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+objectClass: uidObject
+member:
+cn: Role3
+uid: Role3
+
+dn: uid=admin,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+objectClass: uidObject
+member: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+cn: admin
+uid: admin
+
+dn: uid=manager,ou=Roles,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupOfNames
+objectClass: uidObject
+member: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+cn: manager
+uid: manager
+
+dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2
+
+dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2
+
+dn: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: admin
+cn: admin
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=cn=Manager\,o=sevenSeas
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=o=sevenSeas
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=member
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=ou=Roles\,ou=OrgUnit1
+org.apache.jetspeed.ldap.GroupFilterBase=ou=Groups\,ou=OrgUnit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=People\,ou=OrgUnit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,uidObject\,groupOfNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=member
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=uid
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=uid
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,uid={u}
+org.apache.jetspeed.ldap.roleAttributes=cn={u}
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/setup5/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=sevenSeas
+
+ cn=Manager,o=sevenSeas
+
+ secret
+
+ (objectclass=groupOfNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+ member
+
+
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+
+
+ ou=Roles,ou=OrgUnit1
+
+ ou=Groups,ou=OrgUnit1
+
+ ou=People,ou=OrgUnit1
+
+ top,uidObject,groupOfNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ uid
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ uid
+
+ cn
+
+ uid
+
+ member
+
+ uniqueMember
+
+ sn={u},uid={u}
+
+ cn={u}
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/ldap.properties (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/ldap.properties (working copy)
@@ -1,59 +0,0 @@
-# Ldap Configuration.
-
-org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
-org.apache.jetspeed.ldap.ldapServerName=localhost
-org.apache.jetspeed.ldap.ldapServerPort=389
-org.apache.jetspeed.ldap.rootDn=cn\=Manager\,o\=sevenSeas
-org.apache.jetspeed.ldap.rootPassword=secret
-org.apache.jetspeed.ldap.rootContext=o\=sevenSeas
-#org.apache.jetspeed.ldap.defaultDnSuffix=
-#org.apache.jetspeed.ldap.ou.users=people
-#org.apache.jetspeed.ldap.ou.groups=groups
-#org.apache.jetspeed.ldap.ou.roles=roles
-
-# define the filters needed to search for roles/groups/users
-org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfUniqueNames)
-org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
-org.apache.jetspeed.ldap.UserFilter=(&(objectclass=inetorgperson)(objectclass=organizationalPerson))
-
-org.apache.jetspeed.ldap.UserAuthenticationFiler=(&(uid=%u)(objectclass=inetorgperson))
-
-# define the way role membership occurs
-# if RoleMembershipAttributes is used, membership attr will be stored on role
-# if UserRoleMembershipAttributes is used, membership attr will be stored on user
-org.apache.jetspeed.ldap.RoleMembershipAttributes=uniqueMember
-org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
-
-# define the way group membership occurs
-# if GroupMembershipAttributes is used, membership attr will be stored on group
-# if UserGroupMembershipAttributes is used, membership attr will be stored on user
-org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
-org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
-
-# define the way group membership occurs
-# if GroupMembershipAttributes is used, membership attr will be stored on group
-# if UserGroupMembershipAttributes is used, membership attr will be stored on user
-org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
-org.apache.jetspeed.ldap.RoleGroupMembershipAttributes=
-
-
-
-# define the default search base. (=rootContext)
-org.apache.jetspeed.ldap.DefaultSearchBase=o\=sevenSeas
-
-# define the path to roles,groups and users
-# needs to be defined without the defaultsearchbase
-org.apache.jetspeed.ldap.RoleFilterBase=ou\=Roles\,ou\=OrgUnit1
-org.apache.jetspeed.ldap.GroupFilterBase=ou\=Groups\,ou\=OrgUnit1
-org.apache.jetspeed.ldap.UserFilterBase=ou\=People\,ou\=OrgUnit1
-
-org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfUniqueNames
-org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
-org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
-
-# define the ID attribute used to search roles/groups/users
-org.apache.jetspeed.ldap.RoleIdAttribute=cn
-org.apache.jetspeed.ldap.GroupIdAttribute=cn
-org.apache.jetspeed.ldap.UserIdAttribute=uid
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-atz.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-atz.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-atz.xml (working copy)
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-ldap-atn.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-ldap-atn.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-ldap-atn.xml (working copy)
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-ldap.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/openldap/security-spi-ldap.xml (working copy)
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
-
- com.sun.jndi.ldap.LdapCtxFactory
-
- localhost
-
- 389
-
-
-
- o=sevenSeas
-
- cn=Manager,o=sevenSeas
-
- secret
-
- (objectclass=groupOfUniqueNames)
-
- (objectclass=groupOfUniqueNames)
-
- (&(objectclass=inetorgperson)(objectclass=organizationalPerson))
-
- (&(uid=%u)(objectclass=inetorgperson))
-
- uniqueMember
-
-
-
- uniqueMember
-
-
-
- uniqueMember
-
-
-
- o=sevenSeas
-
- ou=Roles,ou=OrgUnit1
-
- ou=Groups,ou=OrgUnit1
-
- ou=People,ou=OrgUnit1
-
- top,groupOfUniqueNames
-
- top,groupOfUniqueNames
-
- top,person,organizationalPerson,inetorgperson
-
- cn
-
- cn
-
- uid
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/company.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/company.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/company.ldif (revision 0)
@@ -0,0 +1,255 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfNames
+#
+# Roles have an empty memberOf attribute upon creation (required by schema)
+# Groups have an empty uniqueMember attribute upon creation (required by schema)
+#
+# Roles, Group and Users are stored under different organizational units.
+#
+dn: ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,o=ECS
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,o=ECS
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: cn=admin,ou=People,ou=OrgUnit1
+uniqueMember: CN=OrgUnit1User1,OU=people,OU=orgunit1,O=ECS
+uniqueMember: CN=OrgUnit1User2,OU=people,OU=orgunit1,O=ECS
+uniqueMember: CN=Role1,OU=roles,OU=orgunit1,O=ECS
+uniqueMember: CN=Role2,OU=roles,OU=orgunit1,O=ECS
+uniqueMember: CN=Role3,OU=roles,OU=orgunit1,O=ECS
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: CN=OrgUnit1User1,OU=people,OU=orgunit1,O=ECS
+uniqueMember: CN=Role1,OU=roles,OU=orgunit1,O=ECS
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: CN=OrgUnit1User1,OU=people,OU=orgunit1,O=ECS
+cn: Group3
+
+dn: cn=Group4,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: CN=OrgUnit1User1,OU=people,OU=orgunit1,O=ECS
+cn: Group4
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:cn=admin,ou=People,ou=OrgUnit1
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:cn=admin,ou=People,ou=OrgUnit1
+cn: manager
+
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+member:CN=OrgUnit1User1,OU=people,OU=orgunit1,O=ECS
+member:CN=OrgUnit1User2,OU=people,OU=orgunit1,O=ECS
+member:CN=admin,OU=people,OU=orgunit1,O=ECS
+cn: Role1
+
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+member:CN=OrgUnit1User1,OU=people,OU=orgunit1,O=ECS
+member:CN=OrgUnit1User2,OU=people,OU=orgunit1,O=ECS
+member:CN=admin,OU=people,OU=orgunit1,O=ECS
+cn: Role2
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+member:CN=admin,OU=people,OU=orgunit1,O=ECS
+cn: Role3
+
+dn: cn=Role4,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role4
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+member: cn=admin,ou=People,ou=OrgUnit1,o=ECS
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+member: cn=admin,ou=People,ou=OrgUnit1,o=ECS
+cn: manager
+
+dn: cn=OrgUnit1User1,ou=People,ou=OrgUnit1,o=ECS
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1
+
+dn: cn=OrgUnit1User2,ou=People,ou=OrgUnit1,o=ECS
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2
+
+dn: cn=OrgUnit2User1,ou=People,ou=OrgUnit2,o=ECS
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1
+
+dn: cn=OrgUnit2User2,ou=People,ou=OrgUnit2,o=ECS
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2
+
+
+dn: cn=OrgUnit3User1,ou=People,ou=OrgUnit3,o=ECS
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1
+
+dn: cn=OrgUnit3User2,ou=People,ou=OrgUnit3,o=ECS
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2
+
+dn: cn=admin,ou=People,ou=OrgUnit1,o=ECS
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: admin
+cn: admin admin
+
+dn: cn=user1,ou=People,ou=OrgUnit1,o=ECS
+uid: user1
+givenName: user1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: user1
+sn: user1
+cn: user1
+
+dn: cn=user2,ou=People,ou=OrgUnit1,o=ECS
+uid: user2
+givenName: user2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: user2
+sn: user2
+cn: user2
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/ldap.properties (revision 0)
@@ -0,0 +1,65 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=Davy De Waele
+org.apache.jetspeed.ldap.rootPassword=adminadmin2
+org.apache.jetspeed.ldap.rootContext=o=ECS
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=member
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=ou=roles\,ou=orgunit1
+org.apache.jetspeed.ldap.GroupFilterBase=ou=groups\,ou=orgunit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=people\,ou=orgunit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=member
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=cn
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,uid={u}
+org.apache.jetspeed.ldap.roleAttributes=
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup1/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=ECS
+
+ Davy De Waele
+
+ adminadmin2
+
+ (objectclass=groupOfNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+ member
+
+
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+
+
+ ou=roles,ou=orgunit1
+
+ ou=groups,ou=orgunit1
+
+ ou=people,ou=orgunit1
+
+ top,groupOfNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ cn
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ member
+
+ uniqueMember
+
+ sn={u},uid={u}
+
+
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/company.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/company.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/company.ldif (revision 0)
@@ -0,0 +1,323 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# THIS SCRIPT REQUIRES US TO PUT THE uniqueMember ATTR ON organizationalPerson
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfUniqueNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+# Roles and Groups are stored on the same level (o=ECS)
+#
+###########################################################
+# OrgUnits (objectClass: organizationalunit)
+# Act as containers for different organizations
+###########################################################
+dn: ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,o=ECS
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=OrgUnit3,o=ECS
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+###########################################################
+# Subcontainers (objectClass: organizationalunit)
+# Subcontainers for People,Roles & Groups
+###########################################################
+dn: ou=People,ou=OrgUnit1,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+###########################################################
+# The groups (objectClass: groupOfUniqueNames)
+###########################################################
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+dn: cn=Group1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group1
+
+dn: cn=Group2,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group2
+
+dn: cn=Group3,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group3
+
+dn: cn=adminGroup,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: admin
+
+dn: cn=managerGroup,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+###########################################################
+# The roles (objectClass: groupOfUniqueNames)
+###########################################################
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role1
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role2
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role3
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+dn: cn=Role1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role1
+
+dn: cn=Role2,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role2
+
+dn: cn=Role3,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role3
+
+dn: cn=admin,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: admin
+
+dn: cn=manager,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+###########################################################
+# The users (objectClass: organizationalPerson)
+###########################################################
+
+dn: cn=OrgUnit1User1,ou=People,ou=OrgUnit1,o=ECS
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1
+
+dn: cn=OrgUnit1User2,ou=People,ou=OrgUnit1,o=ECS
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2
+
+dn: cn=OrgUnit2User1,ou=People,ou=OrgUnit2,o=ECS
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1
+
+dn: cn=OrgUnit2User2,ou=People,ou=OrgUnit2,o=ECS
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2
+
+
+dn: cn=OrgUnit3User1,ou=People,ou=OrgUnit3,o=ECS
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1
+
+dn: cn=OrgUnit3User2,ou=People,ou=OrgUnit3,o=ECS
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2
+
+dn: cn=admin,ou=People,ou=OrgUnit1,o=ECS
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: admin
+cn: admin
+
+
+dn: cn=adminuser,o=ECS
+uid: adminuser
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+uniqueMember: CN=admin,o=ECS
+sn: admin
+cn: adminuser
+
+dn: cn=user1,o=ECS
+uid: user1
+givenName: user1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: user1
+sn: user1
+cn: user1
+
+dn: cn=user2,o=ECS
+uid: user2
+givenName: user2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: user2
+sn: user2
+cn: user2
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/README.TXT
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/README.TXT (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/README.TXT (revision 0)
@@ -0,0 +1,15 @@
+In order for this schema setup to work, modify the Domino schema
+so that uniqueMember becomes an optional attribute for
+organizationPerson
+
+Domino doesn't support putting role/group membership on the user
+object by default.
+
+objectclasses: (
+ 2.5.6.7
+ NAME 'organizationalPerson'
+ DESC 'Defines entries for people employed by or associated with an organization.'
+ SUP person
+ STRUCTURAL
+ MAY ( uniqueMember $ title $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postalAddress $ postalCode $ postOfficeBox $ physicalDeliveryOfficeName $ ou $ st $ l )
+ )
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/ldap.properties (revision 0)
@@ -0,0 +1,65 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=Davy De Waele
+org.apache.jetspeed.ldap.rootPassword=adminadmin2
+org.apache.jetspeed.ldap.rootContext=o=ECS
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=uniqueMember
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=uniqueMember
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=uniqueMember
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=
+org.apache.jetspeed.ldap.GroupFilterBase=
+org.apache.jetspeed.ldap.UserFilterBase=
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=uniqueMember
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=cn
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,uid={u}
+org.apache.jetspeed.ldap.roleAttributes=
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup2/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=ECS
+
+ Davy De Waele
+
+ adminadmin2
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+
+
+
+
+
+
+ top,groupOfUniqueNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ cn
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ uniqueMember
+
+ uniqueMember
+
+ sn={u},uid={u}
+
+
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/company.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/company.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/company.ldif (revision 0)
@@ -0,0 +1,344 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# THIS SCRIPT REQUIRES US TO PUT THE uniqueMember ATTR ON organizationalPerson
+#
+# Group objectClass = groupOfNames
+# Role objectClass = groupOfUniqueNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+# Roles and Groups are stored on the same level (o=ECS)
+#
+###########################################################
+# OrgUnits (objectClass: organizationalunit)
+# Act as containers for different organizations
+###########################################################
+dn: ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,o=ECS
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=OrgUnit3,o=ECS
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+###########################################################
+# Subcontainers (objectClass: organizationalunit)
+# Subcontainers for People,Roles & Groups
+###########################################################
+dn: ou=People,ou=OrgUnit1,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,o=ECS
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,o=ECS
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,o=ECS
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+###########################################################
+# The groups (objectClass: groupOfUniqueNames)
+###########################################################
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: manager
+
+dn: cn=Group1,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: Group1
+
+dn: cn=Group2,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: Group2
+
+dn: cn=Group3,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: Group3
+
+dn: cn=adminGroup,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: admin
+
+dn: cn=managerGroup,o=ECS
+objectClass: top
+objectClass: groupOfNames
+objectClass: dominoGroup
+member:
+cn: manager
+
+###########################################################
+# The roles (objectClass: groupOfUniqueNames)
+###########################################################
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role1
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role2
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role3
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+dn: cn=Role1,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role1
+
+dn: cn=Role2,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role2
+
+dn: cn=Role3,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role3
+
+dn: cn=admin,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+uniqueMember: cn=adminuser,o=ECS
+cn: admin
+
+dn: cn=manager,o=ECS
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+###########################################################
+# The users (objectClass: organizationalPerson)
+###########################################################
+
+dn: cn=OrgUnit1User1,ou=People,ou=OrgUnit1,o=ECS
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1
+
+dn: cn=OrgUnit1User2,ou=People,ou=OrgUnit1,o=ECS
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2
+
+dn: cn=OrgUnit2User1,ou=People,ou=OrgUnit2,o=ECS
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1
+
+dn: cn=OrgUnit2User2,ou=People,ou=OrgUnit2,o=ECS
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2
+
+
+dn: cn=OrgUnit3User1,ou=People,ou=OrgUnit3,o=ECS
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1
+
+dn: cn=OrgUnit3User2,ou=People,ou=OrgUnit3,o=ECS
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2
+
+dn: cn=admin,ou=People,ou=OrgUnit1,o=ECS
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: admin
+sn: admin
+cn: admin
+
+
+dn: cn=adminuser,o=ECS
+uid: adminuser
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: admin
+uniqueMember: CN=admin,o=ECS
+sn: admin
+cn: adminuser
+
+dn: cn=user1,o=ECS
+uid: user1
+givenName: user1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: user1
+sn: user1
+cn: user1
+
+dn: cn=user2,o=ECS
+uid: user2
+givenName: user2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+objectClass: dominoPerson
+userPassword: user2
+sn: user2
+cn: user2
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/ldap.properties (revision 0)
@@ -0,0 +1,65 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=Davy De Waele
+org.apache.jetspeed.ldap.rootPassword=adminadmin2
+org.apache.jetspeed.ldap.rootContext=o=ECS
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(&(objectclass=groupOfUniqueNames)(!(objectClass=dominoGroup)))
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=dominoGroup)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)(objectclass=dominoPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=member
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=
+org.apache.jetspeed.ldap.GroupFilterBase=
+org.apache.jetspeed.ldap.UserFilterBase=
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfNames\,dominoGroup
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson\,dominoPerson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=uniqueMember
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=member
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=cn
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,uid={u}
+org.apache.jetspeed.ldap.roleAttributes=
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/domino/setup3/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=ECS
+
+ Davy De Waele
+
+ adminadmin2
+
+ (&(objectclass=groupOfUniqueNames)(!(objectClass=dominoGroup)))
+
+ (objectclass=dominoGroup)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)(objectclass=dominoPerson)
+
+ uniqueMember
+
+
+
+ member
+
+
+
+ uniqueMember
+
+
+
+
+
+
+
+
+
+
+
+ top,groupOfUniqueNames
+
+ top,groupOfNames,dominoGroup
+
+ top,person,organizationalPerson,inetorgperson,dominoPerson
+
+ cn
+
+ cn
+
+ cn
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ uniqueMember
+
+ member
+
+ sn={u},uid={u}
+
+
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi.xml (working copy)
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
- JETSPEED-INF/ojb/security_repository.xml
-
-
-
-
- org.apache.jetspeed.security.spi.SecurityAccess
-
-
-
-
-
-
- PROPAGATION_REQUIRED
- PROPAGATION_REQUIRED
- PROPAGATION_SUPPORTS
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/company1.ldif (revision 0)
@@ -0,0 +1,210 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfUniqueNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+dn: ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,ou=system
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,ou=system
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: cn=admin,ou=People,ou=OrgUnit1
+cn: Group1
+
+dn: cn=Group2,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group2
+
+dn: cn=Group3,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group3
+
+dn: cn=admin_group,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:uid=admin,ou=People,ou=OrgUnit1
+cn: admin
+
+dn: cn=manager_group,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:uid=admin,ou=People,ou=OrgUnit1
+cn: manager
+
+dn: cn=Role1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role1
+
+
+dn: cn=Role2,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role2
+
+
+dn: cn=Role3,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role3
+
+dn: cn=admin,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=adminuser,ou=system
+cn: admin
+
+dn: cn=manager,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: manager
+
+dn: cn=OrgUnit1User1,ou=People,ou=OrgUnit1,ou=system
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1 OrgUnit1User1
+
+dn: cn=OrgUnit1User2,ou=People,ou=OrgUnit1,ou=system
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2 OrgUnit1User2
+
+dn: cn=OrgUnit2User1,ou=People,ou=OrgUnit2,ou=system
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1 OrgUnit2User1
+
+dn: cn=OrgUnit2User2,ou=People,ou=OrgUnit2,ou=system
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2 OrgUnit2User2
+
+
+dn: cn=OrgUnit3User1,ou=People,ou=OrgUnit3,ou=system
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1 OrgUnit3User1
+
+dn: cn=OrgUnit3User2,ou=People,ou=OrgUnit3,ou=system
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2 OrgUnit3User2
+
+dn: cn=adminuser,ou=system
+uid: adminuser
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: admin
+cn: admin
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=uid=admin\,ou=system
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=ou=system
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=member
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=
+org.apache.jetspeed.ldap.GroupFilterBase=
+org.apache.jetspeed.ldap.UserFilterBase=
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=member
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=cn
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}\,uid={u}
+org.apache.jetspeed.ldap.roleAttributes=
+org.apache.jetspeed.ldap.groupAttributes=
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup1/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=sevenSeas
+
+ cn=Manager,o=sevenSeas
+
+ secret
+
+ (objectclass=groupOfNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+ member
+
+
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+
+
+
+
+
+
+
+
+ top,groupOfNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ cn
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ member
+
+ uniqueMember
+
+ sn={u},cn={u}
+
+
+
+
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/company1.ldif (revision 0)
@@ -0,0 +1,154 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfNames
+# Role objectClass = groupOfUniqueNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+
+dn: ou=People,ou=system
+objectClass: top
+objectClass: organizationalunit
+ou: People
+
+dn: uid=OrgUnit1User1,ou=People,ou=system
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=system
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2
+
+dn: uid=OrgUnit2User1,ou=People,ou=system
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=system
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=system
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=system
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2
+
+dn: cn=Group1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1
+cn: Group1
+
+dn: cn=Group2,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group2
+
+dn: cn=Group3,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group3
+
+dn: cn=admin_group,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: admin
+
+dn: cn=manager_group,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: manager
+
+dn: cn=Role1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role1
+
+
+dn: cn=Role2,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role2
+
+
+dn: cn=Role3,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role3
+
+dn: cn=admin,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: admin
+
+dn: cn=manager,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: manager
+
+dn: uid=admin,ou=People,ou=system
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+member: cn=admin,ou=system
+sn: admin
+cn: admin
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=uid=admin\,ou=system
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=ou=system
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=member
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=member
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=
+org.apache.jetspeed.ldap.GroupFilterBase=
+org.apache.jetspeed.ldap.UserFilterBase=ou=People
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=member
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}
+org.apache.jetspeed.ldap.roleAttributes=sn={u}
+org.apache.jetspeed.ldap.groupAttributes=sn={u}
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup2/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ ou=system
+
+ uid=admin,ou=system
+
+ secret
+
+ (objectclass=groupOfNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+
+
+ member
+
+ uniqueMember
+
+
+
+
+
+ member
+
+
+
+
+
+
+
+ ou=People
+
+ top,groupOfNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ member
+
+ uniqueMember
+
+ sn={u},cn={u}
+
+ sn={u}
+
+ sn={u}
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/company1.ldif (revision 0)
@@ -0,0 +1,210 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfNames
+# Role objectClass = groupOfNames
+#
+# Roles and groups have an empty member attribute (required by schema)
+#
+dn: ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,ou=system
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,ou=system
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member: uid=admin,ou=People,ou=OrgUnit1
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:uid=admin,ou=People,ou=OrgUnit1
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:uid=admin,ou=People,ou=OrgUnit1
+cn: manager
+
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role1
+
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role2
+
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Role3
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member: uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member: uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: manager
+
+dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,ou=system
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,ou=system
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2
+
+dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,ou=system
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,ou=system
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,ou=system
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,ou=system
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2
+
+dn: uid=admin,ou=People,ou=OrgUnit1,ou=system
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: admin
+cn: admin
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=uid=admin\,ou=system
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=ou=system
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used\, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=member
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=member
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=member
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=ou=Roles\,ou=OrgUnit1
+org.apache.jetspeed.ldap.GroupFilterBase=ou=Groups\,ou=OrgUnit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=People\,ou=OrgUnit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=member
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=member
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}
+org.apache.jetspeed.ldap.roleAttributes=sn={u}
+org.apache.jetspeed.ldap.groupAttributes=sn={u}
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup3/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ ou=system
+
+ uid=admin,ou=system
+
+ secret
+
+ (objectclass=groupOfNames)
+
+ (objectclass=groupOfNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+ member
+
+
+
+ member
+
+
+
+ member
+
+
+
+
+
+ ou=Roles,ou=OrgUnit1
+
+ ou=Groups,ou=OrgUnit1
+
+ ou=People,ou=OrgUnit1
+
+ top,groupOfNames
+
+ top,groupOfNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ member
+
+ member
+
+ sn={u},cn={u}
+
+ sn={u}
+
+ sn={u}
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/company1.ldif (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/company1.ldif (working copy)
@@ -1,231 +0,0 @@
-#
-# filters
-# USER FILTER
-# (&(uid=OrgUnit3User2)(objectClass=inetorgperson))
-#
-# GROUP FILTER
-# (objectclass=groupofuniquenames)
-#
-# ROLE FILTER
-#
-# (objectclass=nsroledefinition)
-#
-#
-#
-#
-
-
-dn: o=sevenSeas
-aci: (targetattr != "userPassword") (version 3.0; acl "Anonymous access"; allow (read, search, compare)userdn = "ldap:///anyone";)
-aci: (targetattr != "nsroledn || aci || nsLookThroughLimit || nsSizeLimit || nsTimeLimit || nsIdleTimeout || passwordPolicySubentry || passwordExpirationTime || passwordExpWarned || passwordRetryCount || retryCountResetTime || accountUnlockTime || passwordHistory || passwordAllowChangeTime")(version
- 3.0; acl "Allow self entry modification except for nsroledn, aci, resource limit attributes, passwordPolicySubentry and password policy state attributes"; allow (write)userdn ="ldap:///self";)
-aci: (targetattr = "*")(version 3.0; acl "Configuration Administrator"; allow (all) userdn = "ldap:///uid=admin,ou=Administrators, ou=TopologyManagement, o=NetscapeRoot";)
-aci: (targetattr ="*")(version 3.0;acl "Configuration Administrators Group";allow (all) (groupdn = "ldap:///cn=Configuration Administrators, ou=Groups, ou=TopologyManagement, o=NetscapeRoot");)
-aci: (targetattr = "*")(version 3.0; acl "SIE Group"; allow (all)groupdn = "ldap:///o=sevenSeas";)
-o: Company2
-objectClass: top
-objectClass: organization
-creatorsname: cn=directory manager
-
-
-dn: ou=OrgUnit1,o=sevenSeas
-ou: OrgUnit1
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: ou=OrgUnit2,o=sevenSeas
-ou: OrgUnit2
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: ou=OrgUnit3,o=sevenSeas
-ou: OrgUnit3
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=People,ou=OrgUnit1,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Groups,ou=OrgUnit1,o=sevenSeas
-ou: Groups
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Roles,ou=OrgUnit1,o=sevenSeas
-ou: Roles
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: ou=People,ou=OrgUnit2,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Groups,ou=OrgUnit2,o=sevenSeas
-ou: Groups
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Roles,ou=OrgUnit2,o=sevenSeas
-ou: Roles
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=People,ou=OrgUnit3,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Groups,ou=OrgUnit3,o=sevenSeas
-ou: Groups
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=Roles,ou=OrgUnit3,o=sevenSeas
-ou: Roles
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: organization
-cn: Group1
-
-dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: organization
-cn: Group2
-
-
-dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: organization
-cn: Group3
-
-dn: cn=admin,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: organization
-member: uid=admin,ou=People,ou=OrgUnit1
-cn: admin
-
-dn: cn=manager,ou=Groups,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: organization
-member: uid=admin,ou=People,ou=OrgUnit1
-cn: manager
-
-dn: cn=Role1,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Role1
-
-
-dn: cn=Role2,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Role2
-
-
-dn: cn=Role3,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: Role3
-
-dn: cn=admin,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: admin
-
-dn: cn=manager,ou=Roles,ou=OrgUnit1,o=sevenSeas
-objectClass: top
-objectClass: groupOfUniqueNames
-cn: manager
-
-dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: OrgUnit1User1
-givenName: OrgUnit1User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-uniqueMember: cn=Role1,ou=Roles,ou=OrgUnit1
-userPassword: x
-sn: OrgUnit1User1
-cn: OrgUnit1User1 OrgUnit1User1
-
-dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: OrgUnit1User2
-givenName: OrgUnit1User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit1User2
-cn: OrgUnit1User2 OrgUnit1User2
-
-dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
-uid: OrgUnit2User1
-givenName: OrgUnit2User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-uniqueMember: cn=Role1,ou=Roles,ou=OrgUnit1
-uniqueMember: cn=Role3,ou=Roles,ou=OrgUnit1
-userPassword: x
-sn: OrgUnit2User1
-cn: OrgUnit2User1 OrgUnit2User1
-
-dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
-uid: OrgUnit2User2
-givenName: OrgUnit2User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit2User2
-cn: OrgUnit2User2 OrgUnit2User2
-
-
-dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
-uid: OrgUnit3User1
-givenName: OrgUnit3User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-uniqueMember: cn=Role1,ou=Roles,ou=OrgUnit1
-sn: OrgUnit3User1
-cn: OrgUnit3User1 OrgUnit3User1
-
-dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
-uid: OrgUnit3User2
-givenName: OrgUnit3User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit3User2
-cn: OrgUnit3User2 OrgUnit3User2
-
-dn: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: admin
-givenName: admin
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-uniqueMember: cn=admin,ou=Roles,ou=OrgUnit1
-userPassword: admin
-sn: admin
-cn: admin admin
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/company1.ldif (revision 0)
@@ -0,0 +1,210 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Group objectClass = groupOfUniqueNames
+# Role objectClass = groupOfUniqueNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+dn: ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,ou=system
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,ou=system
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: manager
+
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role1
+
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role2
+
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role3
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: manager
+
+dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,ou=system
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,ou=system
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2
+
+dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,ou=system
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,ou=system
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,ou=system
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,ou=system
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2
+
+dn: uid=admin,ou=People,ou=OrgUnit1,ou=system
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: admin
+cn: admin
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=uid=admin\,ou=system
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=ou=system
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=ou=Roles\,ou=OrgUnit1
+org.apache.jetspeed.ldap.GroupFilterBase=ou=Groups\,ou=OrgUnit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=People\,ou=OrgUnit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=uniqueMember
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}
+org.apache.jetspeed.ldap.roleAttributes=sn={u}
+org.apache.jetspeed.ldap.groupAttributes=sn={u}
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup4/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ ou=system
+
+ uid=admin,ou=system
+
+ secret
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+
+
+ ou=Roles,ou=OrgUnit1
+
+ ou=Groups,ou=OrgUnit1
+
+ ou=People,ou=OrgUnit1
+
+ top,groupOfUniqueNames
+
+ top,groupOfUniqueNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ uniqueMember
+
+ uniqueMember
+
+ sn={u},cn={u}
+
+ sn={u}
+
+ sn={u}
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/company1.ldif (revision 0)
@@ -0,0 +1,210 @@
+# Sample LDIF file for populating Lotus LDAP Server
+#
+# Role objectClass = groupOfUniqueNames
+# Group objectClass = groupOfNames
+#
+# Roles and groups have an empty uniqueMember attribute (required by schema)
+#
+dn: ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: organizationalunit
+ou: OrgUnit1
+
+dn: ou=OrgUnit2,ou=system
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,ou=system
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit1,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit1,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=People,ou=OrgUnit2,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit2,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit2,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,ou=system
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit3,ou=system
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Roles,ou=OrgUnit3,ou=system
+ou: Roles
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member: uid=admin,ou=People,ou=OrgUnit1
+cn: Group1
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Group2
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:
+cn: Group3
+
+dn: cn=admin,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:uid=admin,ou=People,ou=OrgUnit1
+cn: admin
+
+dn: cn=manager,ou=Groups,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfNames
+member:uid=admin,ou=People,ou=OrgUnit1
+cn: manager
+
+dn: cn=Role1,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role1
+
+
+dn: cn=Role2,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role2
+
+
+dn: cn=Role3,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember:
+cn: Role3
+
+dn: cn=admin,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: admin
+
+dn: cn=manager,ou=Roles,ou=OrgUnit1,ou=system
+objectClass: top
+objectClass: groupOfUniqueNames
+uniqueMember: uid=admin,ou=People,ou=OrgUnit1,ou=system
+cn: manager
+
+dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,ou=system
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User1
+cn: OrgUnit1User1 OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,ou=system
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2 OrgUnit1User2
+
+dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,ou=system
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1 OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,ou=system
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2 OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,ou=system
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1 OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,ou=system
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2 OrgUnit3User2
+
+dn: uid=admin,ou=People,ou=OrgUnit1,ou=system
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+sn: admin
+cn: admin admin
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=uid=admin\,ou=system
+org.apache.jetspeed.ldap.rootPassword=secret
+org.apache.jetspeed.ldap.rootContext=ou=system
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=member
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=ou=Roles\,ou=OrgUnit1
+org.apache.jetspeed.ldap.GroupFilterBase=ou=Groups\,ou=OrgUnit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=People\,ou=OrgUnit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfUniqueNames
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupOfNames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=uniqueMember
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=member
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}
+org.apache.jetspeed.ldap.roleAttributes=sn={u}
+org.apache.jetspeed.ldap.groupAttributes=sn={u}
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/setup5/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ ou=system
+
+ uid=admin,ou=system
+
+ secret
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=groupOfNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+ uniqueMember
+
+
+
+ member
+
+
+
+ uniqueMember
+
+
+
+
+
+ ou=Roles,ou=OrgUnit1
+
+ ou=Groups,ou=OrgUnit1
+
+ ou=People,ou=OrgUnit1
+
+ top,groupOfUniqueNames
+
+ top,groupOfNames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+ uniqueMember
+
+ member
+
+ sn={u},cn={u}
+
+ sn={u}
+
+ sn={u}
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/ldap.properties (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/ldap.properties (working copy)
@@ -1,59 +0,0 @@
-# Ldap Configuration.
-
-org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
-org.apache.jetspeed.ldap.ldapServerName=localhost
-org.apache.jetspeed.ldap.ldapServerPort=10389
-org.apache.jetspeed.ldap.rootDn=uid\=admin\,ou\=system
-org.apache.jetspeed.ldap.rootPassword=secret
-org.apache.jetspeed.ldap.rootContext=o\=sevenSeas
-#org.apache.jetspeed.ldap.defaultDnSuffix=
-#org.apache.jetspeed.ldap.ou.users=people
-#org.apache.jetspeed.ldap.ou.groups=groups
-#org.apache.jetspeed.ldap.ou.roles=roles
-
-# define the filters needed to search for roles/groups/users
-#org.apache.jetspeed.ldap.RoleFilter=(&(objectclass=ldapsubentry) (objectclass=nsroledefinition))
-org.apache.jetspeed.ldap.RoleFilter=(objectClass=groupOfUniqueNames)
-org.apache.jetspeed.ldap.GroupFilter=(objectclass=organization)
-org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)
-
-
-org.apache.jetspeed.ldap.UserAuthenticationFiler=(&(uid=%u)(objectclass=inetorgperson))
-
-# define the way role membership occurs
-# if RoleMembershipAttributes is used, membership attr will be stored on role
-# if UserRoleMembershipAttributes is used, membership attr will be stored on user
-org.apache.jetspeed.ldap.RoleMembershipAttributes=member
-org.apache.jetspeed.ldap.UserRoleMembershipAttributes=
-
-# define the way group membership occurs
-# if GroupMembershipAttributes is used, membership attr will be stored on group
-# if UserGroupMembershipAttributes is used, membership attr will be stored on user
-org.apache.jetspeed.ldap.GroupMembershipAttributes=
-org.apache.jetspeed.ldap.UserGroupMembershipAttributes=uniqueMember
-
-# define the way group membership occurs
-# if GroupMembershipAttributes is used, membership attr will be stored on group
-# if UserGroupMembershipAttributes is used, membership attr will be stored on user
-org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
-org.apache.jetspeed.ldap.RoleGroupMembershipAttributes=
-
-# define the default search base. (=rootContext)
-org.apache.jetspeed.ldap.DefaultSearchBase=o\=sevenSeas
-
-# define the path to roles,groups and users
-# needs to be defined without the defaultsearchbase
-org.apache.jetspeed.ldap.RoleFilterBase=ou\=Roles\,ou\=OrgUnit1
-org.apache.jetspeed.ldap.GroupFilterBase=ou\=Groups\,ou\=OrgUnit1
-org.apache.jetspeed.ldap.UserFilterBase=ou\=People\,ou\=OrgUnit1
-
-org.apache.jetspeed.ldap.RoleObjectClasses=top\,groupOfUniqueNames
-org.apache.jetspeed.ldap.GroupObjectClasses=top\,organization
-org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
-
-# define the ID attribute used to search roles/groups/users
-org.apache.jetspeed.ldap.RoleIdAttribute=cn
-org.apache.jetspeed.ldap.GroupIdAttribute=cn
-org.apache.jetspeed.ldap.UserIdAttribute=uid
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-atz.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-atz.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-atz.xml (working copy)
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-ldap-atn.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-ldap-atn.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-ldap-atn.xml (working copy)
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-ldap.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/apacheds/security-spi-ldap.xml (working copy)
@@ -1,82 +0,0 @@
-
-
-
-
-
-
-
-
- com.sun.jndi.ldap.LdapCtxFactory
-
- localhost
-
- 10389
-
-
-
- o=sevenSeas
-
- uid=admin,ou=system
-
- secret
-
-
- (objectclass=groupOfUniqueNames))
-
- (objectClass=organization)
-
- (objectclass=inetorgperson)
-
- (&(uid=%u)(objectclass=inetorgperson))
-
-
-
- uniqueMember
-
- uniqueMember
-
-
-
- uniqueMember
-
-
-
- o=sevenSeas
-
- ou=Roles,ou=OrgUnit1
-
- ou=Groups,ou=OrgUnit1
-
- ou=People,ou=OrgUnit1
-
- top,groupOfUniqueNames
-
- top,organization
-
- top,person,organizationalPerson,inetorgperson
-
- cn
-
- cn
-
- uid
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi.xml (working copy)
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
- JETSPEED-INF/ojb/security_repository.xml
-
-
-
-
- org.apache.jetspeed.security.spi.SecurityAccess
-
-
-
-
-
-
- PROPAGATION_REQUIRED
- PROPAGATION_REQUIRED
- PROPAGATION_SUPPORTS
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/company1.ldif (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/company1.ldif (revision 0)
@@ -0,0 +1,194 @@
+#
+# filters
+# USER FILTER
+# (&(uid=OrgUnit3User2)(objectClass=inetorgperson))
+#
+# GROUP FILTER
+# (objectclass=groupofuniquenames)
+#
+# ROLE FILTER
+#
+# (objectclass=nsroledefinition)
+#
+#
+#
+#
+
+
+
+
+
+dn: ou=OrgUnit1,o=sevenSeas
+ou: OrgUnit1
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=Groups,ou=OrgUnit1,o=sevenSeas
+ou: Groups
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Group1,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupofuniquenames
+cn: Group1
+
+
+dn: cn=Group2,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupofuniquenames
+uniqueMember: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
+uniqueMember: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
+cn: Group2
+
+
+dn: cn=Group3,ou=Groups,ou=OrgUnit1,o=sevenSeas
+objectClass: top
+objectClass: groupofuniquenames
+cn: Group3
+
+
+dn: ou=OrgUnit2,o=sevenSeas
+ou: OrgUnit2
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: ou=OrgUnit3,o=sevenSeas
+ou: OrgUnit3
+objectClass: top
+objectClass: organizationalunit
+
+
+dn: cn=Role1,o=sevenSeas
+objectClass: top
+objectClass: ldapsubentry
+objectClass: nsroledefinition
+objectClass: nssimpleroledefinition
+objectClass: nsmanagedroledefinition
+cn: Role1
+
+
+dn: cn=Role2,o=sevenSeas
+objectClass: top
+objectClass: ldapsubentry
+objectClass: nsroledefinition
+objectClass: nssimpleroledefinition
+objectClass: nsmanagedroledefinition
+cn: Role2
+
+
+dn: cn=Role3,o=sevenSeas
+objectClass: top
+objectClass: ldapsubentry
+objectClass: nsroledefinition
+objectClass: nssimpleroledefinition
+objectClass: nsmanagedroledefinition
+cn: Role3
+
+dn: cn=admin,o=sevenSeas
+objectClass: top
+objectClass: ldapsubentry
+objectClass: nsroledefinition
+objectClass: nssimpleroledefinition
+objectClass: nsmanagedroledefinition
+cn: admin
+
+
+dn: ou=People,ou=OrgUnit1,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit2,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: ou=People,ou=OrgUnit3,o=sevenSeas
+ou: People
+objectClass: top
+objectClass: organizationalunit
+
+dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User1
+givenName: OrgUnit1User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+nsroledn: cn=Role1,o=sevenSeas
+nsrole: cn=role1,o=sevenSeas
+sn: OrgUnit1User1
+cn: OrgUnit1User1 OrgUnit1User1
+
+dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: OrgUnit1User2
+givenName: OrgUnit1User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit1User2
+cn: OrgUnit1User2 OrgUnit1User2
+
+dn: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
+uid: admin
+givenName: admin
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: admin
+nsroledn: cn=admin,o=sevenSeas
+nsrole: cn=admin,o=sevenSeas
+sn: admin
+cn: admin admin
+
+dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User1
+givenName: OrgUnit2User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User1
+cn: OrgUnit2User1 OrgUnit2User1
+
+dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
+uid: OrgUnit2User2
+givenName: OrgUnit2User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit2User2
+cn: OrgUnit2User2 OrgUnit2User2
+
+
+dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User1
+givenName: OrgUnit3User1
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User1
+cn: OrgUnit3User1 OrgUnit3User1
+
+dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
+uid: OrgUnit3User2
+givenName: OrgUnit3User2
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetorgperson
+userPassword: x
+sn: OrgUnit3User2
+cn: OrgUnit3User2 OrgUnit3User2s
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/ldap.properties (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/ldap.properties (revision 0)
@@ -0,0 +1,67 @@
+# Connection parameters
+org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
+org.apache.jetspeed.ldap.ldapServerName=localhost
+org.apache.jetspeed.ldap.ldapServerPort=389
+org.apache.jetspeed.ldap.rootDn=cn=Directory Manager
+org.apache.jetspeed.ldap.rootPassword=adminadmin
+org.apache.jetspeed.ldap.rootContext=o=sevenSeas
+
+# define the filters needed to search for roles/groups/users
+org.apache.jetspeed.ldap.RoleFilter=(objectclass=ldapsubentry) (objectclass=nsroledefinition)
+org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
+org.apache.jetspeed.ldap.UserFilter=(objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+# define the way role membership occurs
+# if RoleMembershipAttributes is used, membership attr will be stored on role
+# if UserRoleMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.RoleMembershipAttributes=
+org.apache.jetspeed.ldap.UserRoleMembershipAttributes=nsroledn
+
+# define the way group membership occurs
+# if GroupMembershipAttributes is used, membership attr will be stored on group
+# if UserGroupMembershipAttributes is used, membership attr will be stored on user
+org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
+org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
+
+# define the way group membership occurs
+# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
+# if RoleGroupMembershipForRoleAttributes is used, membership attr will be stored on role
+org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
+org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes=
+
+# define the default search base. (=rootContext)
+org.apache.jetspeed.ldap.DefaultSearchBase=o=sevenSeass
+
+# define the path to roles,groups and users
+# needs to be defined without the defaultsearchbase
+org.apache.jetspeed.ldap.RoleFilterBase=
+org.apache.jetspeed.ldap.GroupFilterBase=ou=Groups\,ou=OrgUnit1
+org.apache.jetspeed.ldap.UserFilterBase=ou=People\,ou=OrgUnit1
+
+org.apache.jetspeed.ldap.RoleObjectClasses=top\,ldapsubentry\,nsroledefinition\,nssimpleroledefinition\,nsmanagedroledefinition
+org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupofuniquenames
+org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
+
+# define the attributes that are required upon role/group creation
+org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses=
+org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses=uniqueMember
+
+# define the ID attribute used to search roles/groups/users
+org.apache.jetspeed.ldap.RoleIdAttribute=cn
+org.apache.jetspeed.ldap.GroupIdAttribute=cn
+org.apache.jetspeed.ldap.UserIdAttribute=uid
+
+org.apache.jetspeed.ldap.UidAttribute=uid
+org.apache.jetspeed.ldap.MemberShipSearchScope=1
+
+org.apache.jetspeed.ldap.roleUidAttribute=cn
+org.apache.jetspeed.ldap.groupUidAttribute=cn
+org.apache.jetspeed.ldap.userUidAttribute=uid
+
+org.apache.jetspeed.ldap.userAttributes=sn={u}\,cn={u}
+org.apache.jetspeed.ldap.roleAttributes=cn={u}
+org.apache.jetspeed.ldap.groupAttributes=cn={u}
+
+org.apache.jetspeed.ldap.userPasswordAttribute=userPassword
+
+org.apache.jetspeed.ldap.knownAttributes=cn\,sn\,o\,uid\,ou\,objectClass\,nsroledn\,userPassword\,member\,uniqueMember\,memberOf
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/security-spi-ldap.xml (revision 0)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/setup1/security-spi-ldap.xml (revision 0)
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ com.sun.jndi.ldap.LdapCtxFactory
+
+ localhost
+
+ 389
+
+ o=sevenSeas
+
+ cn=Directory Manager
+
+ adminadmin
+
+ (objectclass=ldapsubentry) (objectclass=nsroledefinition)
+
+ (objectclass=groupOfUniqueNames)
+
+ (objectclass=inetorgperson)(objectclass=organizationalPerson)
+
+
+
+ nsroledn
+
+ uniqueMember
+
+
+
+ uniqueMember
+
+
+
+ o=sevenSeass
+
+
+
+ ou=Groups,ou=OrgUnit1
+
+ ou=People,ou=OrgUnit1
+
+ top,ldapsubentry,nsroledefinition,nssimpleroledefinition,nsmanagedroledefinition
+
+ top,groupofuniquenames
+
+ top,person,organizationalPerson,inetorgperson
+
+ cn
+
+ cn
+
+ uid
+
+ uid
+
+ 1
+
+ cn
+
+ cn
+
+ uid
+
+
+
+ uniqueMember
+
+ sn={u},cn={u}
+
+ cn={u}
+
+ cn={u}
+
+ userPassword
+
+ cn,sn,o,uid,ou,objectClass,userPassword,member,nsroledn,uniqueMember,memberOf
+
+
+
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/company1.ldif
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/company1.ldif (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/company1.ldif (working copy)
@@ -1,199 +0,0 @@
-#
-# filters
-# USER FILTER
-# (&(uid=OrgUnit3User2)(objectClass=inetorgperson))
-#
-# GROUP FILTER
-# (objectclass=groupofuniquenames)
-#
-# ROLE FILTER
-#
-# (objectclass=nsroledefinition)
-#
-#
-#
-#
-
-
-dn: o=sevenSeas
-aci: (targetattr != "userPassword") (version 3.0; acl "Anonymous access"; allow (read, search, compare)userdn = "ldap:///anyone";)
-aci: (targetattr != "nsroledn || aci || nsLookThroughLimit || nsSizeLimit || nsTimeLimit || nsIdleTimeout || passwordPolicySubentry || passwordExpirationTime || passwordExpWarned || passwordRetryCount || retryCountResetTime || accountUnlockTime || passwordHistory || passwordAllowChangeTime")(version
- 3.0; acl "Allow self entry modification except for nsroledn, aci, resource limit attributes, passwordPolicySubentry and password policy state attributes"; allow (write)userdn ="ldap:///self";)
-aci: (targetattr = "*")(version 3.0; acl "Configuration Administrator"; allow (all) userdn = "ldap:///uid=admin,ou=Administrators, ou=TopologyManagement, o=NetscapeRoot";)
-aci: (targetattr ="*")(version 3.0;acl "Configuration Administrators Group";allow (all) (groupdn = "ldap:///cn=Configuration Administrators, ou=Groups, ou=TopologyManagement, o=NetscapeRoot");)
-aci: (targetattr = "*")(version 3.0; acl "SIE Group"; allow (all)groupdn = "ldap:///o=sevenSeas";)
-o: sevenSeas
-objectClass: top
-objectClass: organization
-creatorsname: cn=directory manager
-
-
-dn: cn=Group1,o=sevenSeas
-objectClass: top
-objectClass: groupofuniquenames
-cn: Group1
-
-
-dn: cn=Group2,o=sevenSeas
-objectClass: top
-objectClass: groupofuniquenames
-uniqueMember: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
-uniqueMember: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
-cn: Group2
-
-
-dn: cn=Group3,o=sevenSeas
-objectClass: top
-objectClass: groupofuniquenames
-cn: Group3
-
-
-dn: ou=OrgUnit1,o=sevenSeas
-ou: OrgUnit1
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: ou=OrgUnit2,o=sevenSeas
-ou: OrgUnit2
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: ou=OrgUnit3,o=sevenSeas
-ou: OrgUnit3
-objectClass: top
-objectClass: organizationalunit
-
-
-dn: cn=Role1,o=sevenSeas
-objectClass: top
-objectClass: ldapsubentry
-objectClass: nsroledefinition
-objectClass: nssimpleroledefinition
-objectClass: nsmanagedroledefinition
-cn: Role1
-
-
-dn: cn=Role2,o=sevenSeas
-objectClass: top
-objectClass: ldapsubentry
-objectClass: nsroledefinition
-objectClass: nssimpleroledefinition
-objectClass: nsmanagedroledefinition
-cn: Role2
-
-
-dn: cn=Role3,o=sevenSeas
-objectClass: top
-objectClass: ldapsubentry
-objectClass: nsroledefinition
-objectClass: nssimpleroledefinition
-objectClass: nsmanagedroledefinition
-cn: Role3
-
-dn: cn=admin,o=sevenSeas
-objectClass: top
-objectClass: ldapsubentry
-objectClass: nsroledefinition
-objectClass: nssimpleroledefinition
-objectClass: nsmanagedroledefinition
-cn: admin
-
-
-dn: ou=People,ou=OrgUnit1,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=People,ou=OrgUnit2,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: ou=People,ou=OrgUnit3,o=sevenSeas
-ou: People
-objectClass: top
-objectClass: organizationalunit
-
-dn: uid=OrgUnit1User1,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: OrgUnit1User1
-givenName: OrgUnit1User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-nsroledn: cn=Role1,o=sevenSeas
-nsrole: cn=role1,o=sevenSeas
-sn: OrgUnit1User1
-cn: OrgUnit1User1 OrgUnit1User1
-
-dn: uid=OrgUnit1User2,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: OrgUnit1User2
-givenName: OrgUnit1User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit1User2
-cn: OrgUnit1User2 OrgUnit1User2
-
-dn: uid=admin,ou=People,ou=OrgUnit1,o=sevenSeas
-uid: admin
-givenName: admin
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: admin
-nsroledn: cn=admin,o=sevenSeas
-nsrole: cn=admin,o=sevenSeas
-sn: admin
-cn: admin admin
-
-dn: uid=OrgUnit2User1,ou=People,ou=OrgUnit2,o=sevenSeas
-uid: OrgUnit2User1
-givenName: OrgUnit2User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit2User1
-cn: OrgUnit2User1 OrgUnit2User1
-
-dn: uid=OrgUnit2User2,ou=People,ou=OrgUnit2,o=sevenSeas
-uid: OrgUnit2User2
-givenName: OrgUnit2User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit2User2
-cn: OrgUnit2User2 OrgUnit2User2
-
-
-dn: uid=OrgUnit3User1,ou=People,ou=OrgUnit3,o=sevenSeas
-uid: OrgUnit3User1
-givenName: OrgUnit3User1
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit3User1
-cn: OrgUnit3User1 OrgUnit3User1
-
-dn: uid=OrgUnit3User2,ou=People,ou=OrgUnit3,o=sevenSeas
-uid: OrgUnit3User2
-givenName: OrgUnit3User2
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: inetorgperson
-userPassword: x
-sn: OrgUnit3User2
-cn: OrgUnit3User2 OrgUnit3User2s
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/ldap.properties
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/ldap.properties (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/ldap.properties (working copy)
@@ -1,48 +0,0 @@
-# Ldap Configuration.
-org.apache.jetspeed.ldap.initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
-org.apache.jetspeed.ldap.ldapServerName=localhost
-org.apache.jetspeed.ldap.ldapServerPort=389
-org.apache.jetspeed.ldap.rootDn=cn=Directory Manager
-org.apache.jetspeed.ldap.rootPassword=adminmanager
-org.apache.jetspeed.ldap.rootContext=o\=sevenSeas
-
-# define the filters needed to search for roles/groups/users
-org.apache.jetspeed.ldap.RoleFilter=(&(objectclass=ldapsubentry) (objectclass=nsroledefinition))
-org.apache.jetspeed.ldap.GroupFilter=(objectclass=groupOfUniqueNames)
-org.apache.jetspeed.ldap.UserFilter=(&(objectclass=inetorgperson)(objectclass=organizationalPerson))
-
-
-org.apache.jetspeed.ldap.UserAuthenticationFiler=(&(uid=%u)(objectclass=inetorgperson))
-
-# define the way role membership occurs for users
-# if RoleMembershipAttributes is used, membership attr will be stored on role
-# if UserRoleMembershipAttributes is used, membership attr will be stored on user
-org.apache.jetspeed.ldap.RoleMembershipAttributes=
-org.apache.jetspeed.ldap.UserRoleMembershipAttributes=nsroledn
-
-# define the way group membership occurs for users
-# if GroupMembershipAttributes is used, membership attr will be stored on group
-# if UserGroupMembershipAttributes is used, membership attr will be stored on user
-org.apache.jetspeed.ldap.GroupMembershipAttributes=uniqueMember
-org.apache.jetspeed.ldap.UserGroupMembershipAttributes=
-
-# define the way group membership occurs for roles
-# if GroupMembershipForRoleAttributes is used, membership attr will be stored on group
-# if RoleGroupMembershipAttributes is used, membership attr will be stored on role
-org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes=uniqueMember
-org.apache.jetspeed.ldap.RoleGroupMembershipAttributes=
-
-# define the path to roles,groups and users
-# needs to be defined without the defaultsearchbase
-org.apache.jetspeed.ldap.RoleFilterBase=
-org.apache.jetspeed.ldap.GroupFilterBase=
-org.apache.jetspeed.ldap.UserFilterBase=ou\=People\,ou\=OrgUnit1
-
-org.apache.jetspeed.ldap.RoleObjectClasses=top\,ldapsubentry\,nsroledefinition\,nssimpleroledefinition\,nsmanagedroledefinition
-org.apache.jetspeed.ldap.GroupObjectClasses=top\,groupofuniquenames
-org.apache.jetspeed.ldap.UserObjectClasses=top\,person\,organizationalPerson\,inetorgperson
-
-# define the ID attribute used to search roles/groups/users
-org.apache.jetspeed.ldap.RoleIdAttribute=cn
-org.apache.jetspeed.ldap.GroupIdAttribute=cn
-org.apache.jetspeed.ldap.UserIdAttribute=uid
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-atz.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-atz.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-atz.xml (working copy)
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-ldap-atn.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-ldap-atn.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-ldap-atn.xml (working copy)
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-ldap.xml
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-ldap.xml (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/test/JETSPEED-INF/directory/config/sunds/security-spi-ldap.xml (working copy)
@@ -1,83 +0,0 @@
-
-
-
-
-
-
-
-
- com.sun.jndi.ldap.LdapCtxFactory
-
- localhost
-
- 389
-
-
-
- o=sevenSeas
-
- cn=Directory Manager
-
- adminmanager
-
- (&(objectclass=ldapsubentry) (objectclass=nsroledefinition))
-
- (objectClass=groupOfUniqueNames)
-
- (objectclass=inetorgperson)
-
- (&(uid=%u)(objectclass=inetorgperson))
-
-
-
- nsroledn
-
- uniqueMember
-
-
-
- uniqueMember
-
-
-
- o=sevenSeas
-
-
-
-
-
- ou=People,ou=OrgUnit1
-
-
- top,ldapsubentry,nsroledefinition,nssimpleroledefinition,nsmanagedroledefinition
-
- top,groupofuniquenames
-
- top,person,organizationalPerson,inetorgperson
-
-
-
- cn
-
- cn
-
- uid
-
-
-
-
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapUserCredentialDaoImpl.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapUserCredentialDaoImpl.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapUserCredentialDaoImpl.java (working copy)
@@ -29,8 +29,10 @@
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.jetspeed.i18n.KeyedMessage;
import org.apache.jetspeed.security.SecurityException;
/**
@@ -43,7 +45,6 @@
private static final Log logger = LogFactory.getLog(LdapUserCredentialDaoImpl.class);
/** The password attribute. */
- private static final String PASSWORD_ATTR_NAME = "userPassword";
/**
*
@@ -80,7 +81,9 @@
{
validateUid(uid);
validatePassword(password);
+ logger.debug("changePassword for " + uid + " with " + password);
String userDn = lookupByUid(uid);
+ logger.debug("userDn = " + userDn);
try
{
setPassword(userDn, password);
@@ -110,12 +113,25 @@
try
{
Hashtable env = this.ctx.getEnvironment();
- String savedPassword = String.valueOf(getPassword(uid));
+ //String savedPassword = String.valueOf(getPassword(uid));
String oldCredential = (String)env.get(Context.SECURITY_CREDENTIALS);
String oldUsername = (String)env.get(Context.SECURITY_PRINCIPAL);
- env.put(Context.SECURITY_PRINCIPAL,"uid=" + uid + "," + getUserFilterBase() + "," + getRootContext());
+
+
+ String principal = getEntryPrefix() + "=" + uid;
+
+ if (!StringUtils.isEmpty(getUserFilterBase()))
+ principal+="," + getUserFilterBase();
+ if (!StringUtils.isEmpty(getRootContext()))
+ principal+="," + getRootContext();
+
+ if (lookupByUid(uid)==null)
+ throw new SecurityException(new KeyedMessage("User " + uid + " not found"));
+
+
+ env.put(Context.SECURITY_PRINCIPAL,principal);
env.put(Context.SECURITY_CREDENTIALS,password);
- InitialContext ctx = new InitialContext(env);
+ new InitialContext(env);
env.put(Context.SECURITY_PRINCIPAL,oldUsername);
env.put(Context.SECURITY_CREDENTIALS,oldCredential);
return true;
@@ -160,10 +176,14 @@
*/
private void setPassword(final String userDn, final String password) throws NamingException
{
+ logger.debug("setPassword userDn = " + userDn);
String rdn = getSubcontextName(userDn);
+ if (!StringUtils.isEmpty(getUserFilterBase()))
+ rdn+="," + getUserFilterBase();
+ logger.debug("setPassword rdn = " + rdn);
Attributes attrs = new BasicAttributes(false);
- attrs.put("userPassword", password);
+ attrs.put(getUserPasswordAttribute(), password);
ctx.modifyAttributes(rdn, DirContext.REPLACE_ATTRIBUTE, attrs);
}
@@ -179,14 +199,14 @@
*/
private char[] getPassword(final NamingEnumeration results, final String uid) throws NamingException
{
- if (!results.hasMore())
+ if (!results.hasMore())
{
throw new NamingException("Could not find any user with uid[" + uid + "]");
}
Attributes userAttributes = getFirstUser(results);
- char[] rawPassword = convertRawPassword(getAttribute(PASSWORD_ATTR_NAME, userAttributes));
+ char[] rawPassword = convertRawPassword(getAttribute(getUserPasswordAttribute(), userAttributes));
return rawPassword;
}
@@ -264,20 +284,8 @@
return answer;
}
- /**
- *
- * A template method that returns the LDAP object class of the concrete DAO.
- *
- *
- * @return A String containing the LDAP object class name.
- */
- protected String getObjectClass()
- {
- return "jetspeed-2-user";
- }
-
protected String getEntryPrefix() {
- return "uid";
+ return this.getUserIdAttribute();
}
protected String getSearchSuffix() {
@@ -291,5 +299,9 @@
protected String[] getObjectClasses() {
return this.getUserObjectClasses();
}
+
+ protected String[] getAttributes() {
+ return this.getUserAttributes();
+ }
}
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapBindingConfig.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapBindingConfig.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapBindingConfig.java (working copy)
@@ -40,17 +40,11 @@
private String rootPassword;
private String rootContext;
- private String defaultDnSuffix;
-
private PropertiesConfiguration props = null;
- private String roleFilter;
private String groupFilter;
private String userFilter;
- private String userAuthenticationFiler;
-
- private String roleMembershipAttributes;
private String userRoleMembershipAttributes;
private String groupMembershipAttributes;
@@ -58,23 +52,42 @@
private String defaultSearchBase;
- private String roleFilterBase;
private String groupFilterBase;
private String userFilterBase;
- private String roleIdAttribute;
private String groupIdAttribute;
private String userIdAttribute;
+
+ private String uidAttribute;
+ private String memberShipSearchScope;
- private String[] roleObjectClasses;
-
private String[] groupObjectClasses;
private String[] userObjectClasses;
+ private String groupMembershipForRoleAttributes;
+
+ private String groupUidAttribute;
+ private String userUidAttribute;
+
+ private String[] groupAttributes;
+ private String[] userAttributes;
+
+ private String groupObjectRequiredAttributeClasses;
+
+ private String[] roleObjectClasses;
private String roleGroupMembershipForRoleAttributes;
+ private String[] roleAttributes;
+ private String roleObjectRequiredAttributeClasses;
+ private String roleFilter;
+ private String roleFilterBase;
+ private String roleIdAttribute;
+ private String roleUidAttribute;
+ private String roleMembershipAttributes;
+
+ private String userPasswordAttribute;
- private String groupMembershipForRoleAttributes;
+ private String[] knownAttributes;
/**
* @param factory The initial context factory.
@@ -90,14 +103,12 @@
public LdapBindingConfig(String factory,
String name,
String port,
- String suffix,
String context,
String dn,
String password,
String roleFilter,
String groupFilter,
String userFilter,
- String userAuthenticationFiler,
String roleMembershipAttributes,
String userRoleMembershipAttributes,
String groupMembershipAttributes,
@@ -113,14 +124,25 @@
String userObjectClasses,
String roleIdAttribute,
String groupIdAttribute,
- String userIdAttribute)
+ String userIdAttribute,
+ String uidAttribute,
+ String memberShipSearchScope,
+ String roleUidAttribute,
+ String groupUidAttribute,
+ String userUidAttribute,
+ String roleObjectRequiredAttributeClasses,
+ String groupObjectRequiredAttributeClasses,
+ String userAttributes,
+ String roleAttributes,
+ String groupAttributes,
+ String userPasswordAttribute,
+ String knownAttributes)
{
try
{
initialContextFactory = factory;
ldapServerName = name;
ldapServerPort = port;
- defaultDnSuffix = suffix;
rootContext = context;
rootDn = dn;
rootPassword = password;
@@ -128,7 +150,6 @@
this.roleFilter=roleFilter;
this.groupFilter=groupFilter;
this.userFilter=userFilter;
- this.userAuthenticationFiler=userAuthenticationFiler;
this.roleMembershipAttributes=roleMembershipAttributes;
this.userRoleMembershipAttributes=userRoleMembershipAttributes;
@@ -153,6 +174,26 @@
this.groupIdAttribute=groupIdAttribute;
this.userIdAttribute=userIdAttribute;
+ this.uidAttribute = uidAttribute;
+ this.memberShipSearchScope=memberShipSearchScope;
+
+
+ this.roleUidAttribute=roleUidAttribute;
+ this.groupUidAttribute=groupUidAttribute;
+ this.userUidAttribute=userUidAttribute;
+
+ this.roleObjectRequiredAttributeClasses=roleObjectRequiredAttributeClasses;
+ this.groupObjectRequiredAttributeClasses=groupObjectRequiredAttributeClasses;
+
+ this.roleAttributes=StringUtils.split(roleAttributes,",");
+ this.groupAttributes = StringUtils.split(groupAttributes,",");
+ this.userAttributes = StringUtils.split(userAttributes,",");
+
+ this.userPasswordAttribute = userPasswordAttribute;
+
+ this.knownAttributes = StringUtils.split(knownAttributes,",");
+
+
new InitLdapSchema(this);
}
catch (SecurityException se)
@@ -175,11 +216,10 @@
{
try
{
- props = new PropertiesConfiguration("JETSPEED-INF/ldap/" + ldapType + "/ldap.properties");
+ props = new PropertiesConfiguration("JETSPEED-INF/directory/config/" + ldapType + "/ldap.properties");
initialContextFactory = props.getString("org.apache.jetspeed.ldap.initialContextFactory");
ldapServerName = props.getString("org.apache.jetspeed.ldap.ldapServerName");
ldapServerPort = props.getString("org.apache.jetspeed.ldap.ldapServerPort");
- defaultDnSuffix = props.getString("org.apache.jetspeed.ldap.defaultDnSuffix");
rootContext = props.getString("org.apache.jetspeed.ldap.rootContext");
rootDn = props.getString("org.apache.jetspeed.ldap.rootDn");
rootPassword = props.getString("org.apache.jetspeed.ldap.rootPassword");
@@ -188,8 +228,6 @@
groupFilter=props.getString("org.apache.jetspeed.ldap.GroupFilter");
userFilter=props.getString("org.apache.jetspeed.ldap.UserFilter");
- userAuthenticationFiler=props.getString("org.apache.jetspeed.ldap.UserAuthenticationFiler");
-
roleMembershipAttributes=props.getString("org.apache.jetspeed.ldap.RoleMembershipAttributes");
userRoleMembershipAttributes=props.getString("org.apache.jetspeed.ldap.UserRoleMembershipAttributes");
@@ -199,6 +237,7 @@
groupMembershipForRoleAttributes=props.getString("org.apache.jetspeed.ldap.GroupMembershipForRoleAttributes");
roleGroupMembershipForRoleAttributes=props.getString("org.apache.jetspeed.ldap.RoleGroupMembershipForRoleAttributes");
+
defaultSearchBase=props.getString("org.apache.jetspeed.ldap.DefaultSearchBase");
roleFilterBase=props.getString("org.apache.jetspeed.ldap.RoleFilterBase");
@@ -213,6 +252,23 @@
groupIdAttribute=props.getString("org.apache.jetspeed.ldap.GroupIdAttribute");
userIdAttribute=props.getString("org.apache.jetspeed.ldap.UserIdAttribute");
+ uidAttribute =props.getString("org.apache.jetspeed.ldap.UidAttribute");
+ memberShipSearchScope = props.getString("org.apache.jetspeed.ldap.MemberShipSearchScope");
+
+ this.roleUidAttribute=props.getString("org.apache.jetspeed.ldap.roleUidAttribute");
+ this.groupUidAttribute=props.getString("org.apache.jetspeed.ldap.groupUidAttribute");
+ this.userUidAttribute=props.getString("org.apache.jetspeed.ldap.userUidAttribute");
+
+ this.roleObjectRequiredAttributeClasses=props.getString("org.apache.jetspeed.ldap.roleObjectRequiredAttributeClasses");
+ this.groupObjectRequiredAttributeClasses=props.getString("org.apache.jetspeed.ldap.groupObjectRequiredAttributeClasses");
+
+ this.roleAttributes=StringUtils.split(props.getString("org.apache.jetspeed.ldap.roleAttributes"),",");
+ this.groupAttributes=StringUtils.split(props.getString("org.apache.jetspeed.ldap.groupAttributes"),",");
+ this.userAttributes=StringUtils.split(props.getString("org.apache.jetspeed.ldap.userAttributes"),",");
+ this.userPasswordAttribute=props.getString("org.apache.jetspeed.ldap.userPasswordAttribute");
+
+ this.knownAttributes=StringUtils.split(props.getString("org.apache.jetspeed.ldap.knownAttributes"),",");
+
new InitLdapSchema(this);
}
catch (ConfigurationException ce)
@@ -230,21 +286,6 @@
}
/**
- * @return Returns the defaultDnSuffix.
- */
- public String getDefaultDnSuffix()
- {
- return defaultDnSuffix;
- }
-
- /**
- * @param defaultDnSuffix The defaultDnSuffix to set.
- */
- public void setDefaultDnSuffix(String defaultDnSuffix)
- {
- this.defaultDnSuffix = defaultDnSuffix;
- }
- /**
* @return Returns the initialContextFactory.
*/
public String getInitialContextFactory()
@@ -340,38 +381,6 @@
this.rootPassword = rootPassword;
}
- public String getRoleFilter() {
- return roleFilter;
- }
-
- public void setRoleFilter(String roleFilter) {
- this.roleFilter = roleFilter;
- }
-
- public String getRoleFilterBase() {
- return roleFilterBase;
- }
-
- public void setRoleFilterBase(String roleFilterBase) {
- this.roleFilterBase = roleFilterBase;
- }
-
- public String getRoleMembershipAttributes() {
- return roleMembershipAttributes;
- }
-
- public void setRoleMembershipAttributes(String roleMembershipAttributes) {
- this.roleMembershipAttributes = roleMembershipAttributes;
- }
-
- public String getUserAuthenticationFiler() {
- return userAuthenticationFiler;
- }
-
- public void setUserAuthenticationFiler(String userAuthenticationFiler) {
- this.userAuthenticationFiler = userAuthenticationFiler;
- }
-
public String getUserFilter() {
return userFilter;
}
@@ -445,14 +454,7 @@
this.groupIdAttribute = groupIdAttribute;
}
- public String getRoleIdAttribute() {
- return roleIdAttribute;
- }
- public void setRoleIdAttribute(String roleIdAttribute) {
- this.roleIdAttribute = roleIdAttribute;
- }
-
public String getUserIdAttribute() {
return userIdAttribute;
}
@@ -469,13 +471,7 @@
this.groupObjectClasses = groupObjectClasses;
}
- public String[] getRoleObjectClasses() {
- return roleObjectClasses;
- }
- public void setRoleObjectClasses(String[] roleObjectClasses) {
- this.roleObjectClasses = roleObjectClasses;
- }
public String[] getUserObjectClasses() {
return userObjectClasses;
@@ -485,20 +481,165 @@
this.userObjectClasses = userObjectClasses;
}
- public String getRoleGroupMembershipForRoleAttributes() {
- return this.roleGroupMembershipForRoleAttributes;
- }
public String getGroupMembershipForRoleAttributes() {
return this.groupMembershipForRoleAttributes;
}
+
+
+ public void setGroupMembershipForRoleAttributes(String groupMembershipForRoleAttributes) {
+ this.groupMembershipForRoleAttributes=groupMembershipForRoleAttributes;
+ }
+
+ public String getUidAttribute() {
+ return uidAttribute;
+ }
+
+ public void setUidAttribute(String uidAttribute) {
+ this.uidAttribute = uidAttribute;
+ }
+
+ public String getMemberShipSearchScope() {
+ return memberShipSearchScope;
+ }
+
+ public void setMemberShipSearchScope(String memberShipSearchScope) {
+ this.memberShipSearchScope = memberShipSearchScope;
+ }
+
+ public String getGroupUidAttribute() {
+ return this.groupUidAttribute;
+ }
+
+ public void setGroupUidAttribute(String groupUidAttribute) {
+ this.groupUidAttribute = groupUidAttribute;
+ }
+
+ public String getUserUidAttribute() {
+ return this.userUidAttribute;
+ }
+
+ public void setUserUidAttribute(String userUidAttribute) {
+ this.userUidAttribute = userUidAttribute;
+ }
+
+ public String getGroupObjectRequiredAttributeClasses() {
+ return groupObjectRequiredAttributeClasses;
+ }
+
+ public void setGroupObjectRequiredAttributeClasses(
+ String groupObjectRequiredAttributeClasses) {
+ this.groupObjectRequiredAttributeClasses = groupObjectRequiredAttributeClasses;
+ }
+
+
+
+ public String[] getGroupAttributes() {
+ return groupAttributes;
+ }
+
+ public void setGroupAttributes(String[] groupAttributes) {
+ this.groupAttributes = groupAttributes;
+ }
+
+ public String[] getUserAttributes() {
+ return userAttributes;
+ }
+
+ public void setUserAttributes(String[] userAttributes) {
+ this.userAttributes = userAttributes;
+ }
+
+ public String getRoleObjectRequiredAttributeClasses() {
+ return roleObjectRequiredAttributeClasses;
+ }
+
+ public void setRoleObjectRequiredAttributeClasses(
+ String roleObjectRequiredAttributeClasses) {
+ this.roleObjectRequiredAttributeClasses = roleObjectRequiredAttributeClasses;
+ }
+
+ public String[] getRoleAttributes() {
+ return roleAttributes;
+ }
+
+ public void setRoleAttributes(String[] roleAttributes) {
+ this.roleAttributes = roleAttributes;
+ }
+
+ public String[] getRoleObjectClasses() {
+ return roleObjectClasses;
+ }
+
+ public void setRoleObjectClasses(String[] roleObjectClasses) {
+ this.roleObjectClasses = roleObjectClasses;
+ }
+
+
+ public String getRoleGroupMembershipForRoleAttributes() {
+ return this.roleGroupMembershipForRoleAttributes;
+ }
+
public void setRoleGroupMembershipForRoleAttributes(String roleGroupMembershipForRoleAttributes) {
this.roleGroupMembershipForRoleAttributes=roleGroupMembershipForRoleAttributes;
}
- public void setGroupMembershipForRoleAttributes(String groupMembershipForRoleAttributes) {
- this.groupMembershipForRoleAttributes=groupMembershipForRoleAttributes;
+ public String getRoleFilter() {
+ return roleFilter;
+ }
+
+ public void setRoleFilter(String roleFilter) {
+ this.roleFilter = roleFilter;
+ }
+
+ public String getRoleFilterBase() {
+ return roleFilterBase;
+ }
+
+ public void setRoleFilterBase(String roleFilterBase) {
+ this.roleFilterBase = roleFilterBase;
+ }
+
+ public String getRoleMembershipAttributes() {
+ return roleMembershipAttributes;
+ }
+
+ public void setRoleMembershipAttributes(String roleMembershipAttributes) {
+ this.roleMembershipAttributes = roleMembershipAttributes;
+ }
+
+ public String getRoleUidAttribute() {
+ return this.roleUidAttribute;
+ }
+
+ public void setRoleUidAttribute(String roleUidAttribute) {
+ this.roleUidAttribute = roleUidAttribute;
+ }
+
+
+ public String getRoleIdAttribute() {
+ return roleIdAttribute;
+ }
+
+ public void setRoleIdAttribute(String roleIdAttribute) {
+ this.roleIdAttribute = roleIdAttribute;
+ }
+
+ public String getUserPasswordAttribute() {
+ return userPasswordAttribute;
+ }
+
+ public void setUserPasswordAttribute(String userPasswordAttribute) {
+ this.userPasswordAttribute = userPasswordAttribute;
+ }
+
+ public String[] getKnownAttributes() {
+ return this.knownAttributes;
}
+ public void setKnownAttributes(String[] knownAttributes) {
+ this.knownAttributes = knownAttributes;
+ }
+
}
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapMemberShipDaoImpl.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapMemberShipDaoImpl.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapMemberShipDaoImpl.java (working copy)
@@ -6,7 +6,6 @@
import java.util.Iterator;
import java.util.List;
-import javax.naming.Name;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
@@ -16,10 +15,8 @@
import javax.naming.directory.DirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-/* TODO: Java 5 dependency, needs to be resolved for Java 1.4 first before this can be enabled again
-import javax.naming.ldap.LdapName;
-*/
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.jetspeed.security.SecurityException;
@@ -28,6 +25,9 @@
public class LdapMemberShipDaoImpl extends LdapPrincipalDaoImpl implements LdapMembershipDao {
+ /** The logger. */
+ private static final Log logger = LogFactory.getLog(LdapMemberShipDaoImpl.class);
+
public LdapMemberShipDaoImpl() throws SecurityException {
super();
}
@@ -36,35 +36,28 @@
super(config);
}
- /** The logger. */
- private static final Log logger = LogFactory.getLog(LdapMemberShipDaoImpl.class);
-
/* (non-Javadoc)
* @see org.apache.jetspeed.security.spi.impl.ldap.LdapMembershipDao#searchGroupMemberShipByGroup(java.lang.String, javax.naming.directory.SearchControls)
*/
public String[] searchGroupMemberShipByGroup(final String userPrincipalUid, SearchControls cons) throws NamingException {
- String subfilter = "uid=" + userPrincipalUid + "," + getUserFilterBase() + "," + getRootContext();
- String query = "(&(" + getGroupMembershipAttribute() + "=" + subfilter + ")" + getGroupFilter() + ")";
+ String query = "(&(" + getGroupMembershipAttribute() + "=" + getUserDN(userPrincipalUid) + ")" + getGroupFilter() + ")";
+
if (logger.isDebugEnabled())
{
logger.debug("query[" + query + "]");
}
+
+ cons.setSearchScope(getSearchScope());
+ NamingEnumeration searchResults = ((DirContext) ctx).search(getGroupFilterBase(),query , cons);
-/* TODO: Java 5 dependency, needs to be resolved for Java 1.4 first before this can be enabled again
- Name name = new LdapName(getGroupFilterBase());
- NamingEnumeration searchResults = ((DirContext) ctx).search(name,query , cons);
-*/
List groupPrincipalUids = new ArrayList();
-/*
while (searchResults.hasMore())
{
SearchResult result = (SearchResult) searchResults.next();
Attributes answer = result.getAttributes();
-
groupPrincipalUids.addAll(getAttributes(getAttribute(getGroupIdAttribute(), answer)));
}
-*/
return (String[]) groupPrincipalUids.toArray(new String[groupPrincipalUids.size()]);
}
@@ -79,39 +72,45 @@
{
throw new NamingException("Could not find any user with uid[" + userPrincipalUid + "]");
}
-
- Attributes userAttributes = getFirstUser(searchResults);
- List uids = getAttributes(getAttribute(getUserGroupMembershipAttribute(), userAttributes));
- return (String[]) uids.toArray(new String[uids.size()]);
+
+ Attributes userAttributes = getFirstUser(searchResults);
+ List groupUids = new ArrayList();
+ Attribute attr = getAttribute(getUserGroupMembershipAttribute(), userAttributes);
+ List attrs = getAttributes(attr);
+ Iterator it = attrs.iterator();
+ while(it.hasNext()) {
+ String cnfull = (String)it.next();
+ if(cnfull.toLowerCase().indexOf(getRoleFilterBase().toLowerCase())!=-1) {
+ String cn = extractLdapAttr(cnfull,getRoleUidAttribute());
+ groupUids.add(cn);
+ }
+ }
+ //List uids = getAttributes(getAttribute(getUserGroupMembershipAttribute(), userAttributes),getGroupFilterBase());
+ return (String[]) groupUids.toArray(new String[groupUids.size()]);
}
/* (non-Javadoc)
* @see org.apache.jetspeed.security.spi.impl.ldap.LdapMembershipDao#searchRoleMemberShipByRole(java.lang.String, javax.naming.directory.SearchControls)
*/
public String[] searchRoleMemberShipByRole(final String userPrincipalUid, SearchControls cons) throws NamingException {
- String subfilter = "uid=" + userPrincipalUid + "," + getUserFilterBase() + "," + getRootContext();
- String query = "(&(" + getRoleMembershipAttribute() + "=" + subfilter + ")" + getRoleFilter() + ")";
+
+ String query = "(&(" + getRoleMembershipAttribute() + "=" + getUserDN(userPrincipalUid) + ")" + getRoleFilter() + ")";
if (logger.isDebugEnabled())
{
logger.debug("query[" + query + "]");
}
-/* TODO: Java 5 dependency, needs to be resolved for Java 1.4 first before this can be enabled again
- Name name = new LdapName(getRoleFilterBase()) ;
- NamingEnumeration searchResults = ((DirContext) ctx).search(name,query , cons);
-*/
+ cons.setSearchScope(getSearchScope());
+ NamingEnumeration searchResults = ((DirContext) ctx).search(getRoleFilterBase(),query , cons);
List rolePrincipalUids = new ArrayList();
-/*
while (searchResults.hasMore())
{
SearchResult result = (SearchResult) searchResults.next();
Attributes answer = result.getAttributes();
-
rolePrincipalUids.addAll(getAttributes(getAttribute(getRoleIdAttribute(), answer)));
}
-*/
return (String[]) rolePrincipalUids.toArray(new String[rolePrincipalUids.size()]);
}
@@ -134,37 +133,14 @@
Iterator it = attrs.iterator();
while(it.hasNext()) {
String cnfull = (String)it.next();
- String cn = extractCn(cnfull);
- newAttrs.add(cn);
+ if(cnfull.toLowerCase().indexOf(getRoleFilterBase().toLowerCase())!=-1) {
+ String cn = extractLdapAttr(cnfull,getRoleUidAttribute());
+ newAttrs.add(cn);
+ }
}
- //List uids = getAttributes(attr);
return (String[]) newAttrs.toArray(new String[newAttrs.size()]);
}
-// /**
-// *
-// * Search user by group.
-// *
-// *
-// * @param groupPrincipalUid
-// * @param cons
-// * @return
-// * @throws NamingException A {@link NamingException}.
-// */
-// private NamingEnumeration searchRolesByGroup(final String rolePrincipalUid, SearchControls cons)
-// throws NamingException
-// {
-// String query = "(&(cn=" + (rolePrincipalUid) + ")" + getRoleFilter() + ")";
-//
-// if (logger.isDebugEnabled())
-// {
-// logger.debug("query[" + query + "]");
-// }
-// NamingEnumeration searchResults = ((DirContext) ctx).search("",query , cons);
-//
-// return searchResults;
-// }
-
/* (non-Javadoc)
* @see org.apache.jetspeed.security.spi.impl.ldap.LdapMembershipDao#searchUsersFromGroupByGroup(java.lang.String, javax.naming.directory.SearchControls)
*/
@@ -181,7 +157,8 @@
ArrayList userPrincipalUids=new ArrayList();
- NamingEnumeration results = ((DirContext) ctx).search("",query , cons);
+ cons.setSearchScope(getSearchScope());
+ NamingEnumeration results = ((DirContext) ctx).search(getGroupFilterBase(),query , cons);
while (results.hasMore())
{
@@ -195,9 +172,12 @@
Iterator it = attrs.iterator();
while(it.hasNext()) {
String uidfull = (String)it.next();
- String uid = extractUid(uidfull);
- if (uidfull.indexOf(getUserFilterBase())!=-1)
- newAttrs.add(uid);
+ if (!StringUtils.isEmpty(uidfull)) {
+ if (uidfull.toLowerCase().indexOf(getUserFilterBase().toLowerCase())!=-1) {
+ String uid = extractLdapAttr(uidfull,getUserIdAttribute());
+ newAttrs.add(uid);
+ }
+ }
}
userPrincipalUids.addAll(newAttrs);
}
@@ -211,24 +191,22 @@
throws NamingException
{
- String subfilter = getGroupIdAttribute() + "=" + getGroupFilterBase();
- if (getGroupFilterBase()!=null && !getGroupFilterBase().equals("")) subfilter+="," + getGroupFilterBase();
- subfilter+="," + getRootContext();
- String query = "(&(" + getUserGroupMembershipAttribute() + "=" + subfilter + ")" + getUserFilter() + ")";
+ String query = "(&(" + getUserGroupMembershipAttribute() + "=" + getGroupDN(groupPrincipalUid) + ")" + getUserFilter() + ")";
if (logger.isDebugEnabled())
{
logger.debug("query[" + query + "]");
}
- NamingEnumeration results = ((DirContext) ctx).search("", query, cons);
-
+
+ cons.setSearchScope(getSearchScope());
+ NamingEnumeration results = ((DirContext) ctx).search(getUserFilterBase(),query , cons);
+
ArrayList userPrincipalUids = new ArrayList();
while (results.hasMore())
{
SearchResult result = (SearchResult) results.next();
Attributes answer = result.getAttributes();
-
- userPrincipalUids.addAll(getAttributes(getAttribute("uid", answer)));
+ userPrincipalUids.addAll(getAttributes(getAttribute(getUserIdAttribute(), answer)));
}
return (String[]) userPrincipalUids.toArray(new String[userPrincipalUids.size()]);
}
@@ -236,8 +214,7 @@
public String[] searchRolesFromGroupByGroup(final String groupPrincipalUid,
SearchControls cons) throws NamingException {
- String query = "(&(" + getGroupIdAttribute() + "=" + (groupPrincipalUid) + ")" + getGroupFilter()
- + ")";
+ String query = "(&(" + getGroupIdAttribute() + "=" + (groupPrincipalUid) + ")" + getGroupFilter() + ")";
if (logger.isDebugEnabled()) {
logger.debug("query[" + query + "]");
@@ -245,28 +222,26 @@
ArrayList rolePrincipalUids = new ArrayList();
- NamingEnumeration results = ((DirContext) ctx).search("", query, cons);
+ cons.setSearchScope(getSearchScope());
+ NamingEnumeration results = ((DirContext) ctx).search(getGroupFilterBase(),query , cons);
while (results.hasMore()) {
SearchResult result = (SearchResult) results.next();
Attributes answer = result.getAttributes();
- List newAttrs = new ArrayList();
-
- Attribute userPrincipalUid = getAttribute(
- getGroupMembershipForRoleAttribute(), answer);
- List attrs = getAttributes(userPrincipalUid);
- Iterator it = attrs.iterator();
+ Attribute rolesFromGroup = getAttribute(getGroupMembershipForRoleAttribute(), answer);
+ List roleDNs = getAttributes(rolesFromGroup,getRoleFilterBase());
+ Iterator it = roleDNs.iterator();
while (it.hasNext()) {
- String uidfull = (String) it.next();
- String uid = extractUid(uidfull);
- if (uidfull.indexOf(getRoleFilterBase())!=-1)
- newAttrs.add(uid);
+ String roleDN = (String) it.next();
+ if (!StringUtils.isEmpty(roleDN)) {
+ String roleId = extractLdapAttr(roleDN,getRoleUidAttribute());
+ if (roleId!=null && roleDN.toLowerCase().indexOf(getRoleFilterBase().toLowerCase())!=-1)
+ rolePrincipalUids.add(roleId);
+ }
}
- rolePrincipalUids.addAll(newAttrs);
}
- return (String[]) rolePrincipalUids
- .toArray(new String[rolePrincipalUids.size()]);
+ return (String[]) rolePrincipalUids.toArray(new String[rolePrincipalUids.size()]);
}
/*
@@ -278,29 +253,27 @@
public String[] searchRolesFromGroupByRole(final String groupPrincipalUid,
SearchControls cons) throws NamingException {
- String subfilter = getGroupIdAttribute() + "=" + groupPrincipalUid;
- if (getGroupFilterBase() != null && !getGroupFilterBase().equals(""))
- subfilter += "," + getGroupFilterBase() + "," + getRootContext();
- String query = "(&(" + getRoleGroupMembershipForRoleAttribute() + "="
- + subfilter + ")" + getUserFilter() + ")";
+ String query = "(&(" + getRoleGroupMembershipForRoleAttribute() + "=" + getGroupDN(groupPrincipalUid) + ")" + getRoleFilter() + ")";
+
if (logger.isDebugEnabled()) {
logger.debug("query[" + query + "]");
}
- NamingEnumeration results = ((DirContext) ctx).search("", query, cons);
+
+ cons.setSearchScope(getSearchScope());
+ NamingEnumeration results = ((DirContext) ctx).search(getRoleFilterBase(),query , cons);
- ArrayList userPrincipalUids = new ArrayList();
+ ArrayList rolePrincipalUids = new ArrayList();
while (results.hasMore()) {
SearchResult result = (SearchResult) results.next();
Attributes answer = result.getAttributes();
-
- userPrincipalUids
- .addAll(getAttributes(getAttribute("uid", answer)));
+ rolePrincipalUids.addAll(getAttributes(getAttribute(getRoleIdAttribute(), answer)));
}
- return (String[]) userPrincipalUids
- .toArray(new String[userPrincipalUids.size()]);
- }
+ return (String[]) rolePrincipalUids
+ .toArray(new String[rolePrincipalUids.size()]);
+ }
+
/* (non-Javadoc)
* @see org.apache.jetspeed.security.spi.impl.ldap.LdapMembershipDao#searchUsersFromRoleByRole(java.lang.String, javax.naming.directory.SearchControls)
*/
@@ -316,30 +289,25 @@
}
ArrayList userPrincipalUids=new ArrayList();
-
- NamingEnumeration results = ((DirContext) ctx).search("",query , cons);
+
+ cons.setSearchScope(getSearchScope());
+ NamingEnumeration results = ((DirContext) ctx).search(getRoleFilterBase(),query , cons);
while (results.hasMore())
{
SearchResult result = (SearchResult) results.next();
Attributes answer = result.getAttributes();
- //List cUserPrincipalUid = getAttributes(getAttribute(getRoleMembershipAttribute(), answer));
- //TODO: better implementtion
- List newAttrs = new ArrayList();
-
Attribute userPrincipalUid = getAttribute(getRoleMembershipAttribute(), answer);
List attrs = getAttributes(userPrincipalUid);
Iterator it = attrs.iterator();
while(it.hasNext()) {
String uidfull = (String)it.next();
- String uid = extractUid(uidfull);
- newAttrs.add(uid);
+ if (!StringUtils.isEmpty(uidfull)) {
+ String uid = extractLdapAttr(uidfull,getUserIdAttribute());
+ userPrincipalUids.add(uid);
+ }
}
- userPrincipalUids.addAll(newAttrs);
-
-
- //userPrincipalUids.addAll(cUserPrincipalUid);
}
return (String[]) userPrincipalUids.toArray(new String[userPrincipalUids.size()]);
}
@@ -351,29 +319,25 @@
throws NamingException
{
- //TODO: rename params / vars !!!
- String subfilter = getRoleIdAttribute() + "=" + rolePrincipalUid;
- if (getRoleFilterBase()!=null && !getRoleFilterBase().equals("")) subfilter+="," + getRoleFilterBase();
- subfilter+="," + getRootContext();
- String query = "(&(" + getUserRoleMembershipAttribute() + "=" + subfilter + ")" + getUserFilter() + ")";
+ String query = "(&(" + getUserRoleMembershipAttribute() + "=" + getRoleDN(rolePrincipalUid) + ")" + getUserFilter() + ")";
if (logger.isDebugEnabled())
{
logger.debug("query[" + query + "]");
}
- NamingEnumeration results = ((DirContext) ctx).search("", query, cons);
-
+
+ cons.setSearchScope(getSearchScope());
+ NamingEnumeration results = ((DirContext) ctx).search(getUserFilterBase(),query , cons);
+
ArrayList userPrincipalUids = new ArrayList();
while (results.hasMore())
{
SearchResult result = (SearchResult) results.next();
Attributes answer = result.getAttributes();
-
- userPrincipalUids.addAll(getAttributes(getAttribute("uid", answer)));
+ userPrincipalUids.addAll(getAttributes(getAttribute(getUserIdAttribute(), answer)));
}
return (String[]) userPrincipalUids.toArray(new String[userPrincipalUids.size()]);
}
-
/**
* @param attr
@@ -382,13 +346,27 @@
*/
protected List getAttributes(Attribute attr) throws NamingException
{
+ return getAttributes(attr, null);
+ }
+ /**
+ * @param attr
+ * @return
+ * @throws NamingException
+ */
+ protected List getAttributes(Attribute attr,String filter) throws NamingException
+ {
List uids = new ArrayList();
if (attr != null)
{
Enumeration groupUidEnum = attr.getAll();
while (groupUidEnum.hasMoreElements())
{
- uids.add(groupUidEnum.nextElement());
+ String groupDN = (String)groupUidEnum.nextElement();
+ if (filter==null) {
+ uids.add(groupDN);
+ } else if (filter!=null && groupDN.toLowerCase().indexOf(filter.toLowerCase())!=-1) {
+ uids.add(groupDN);
+ }
}
}
return uids;
@@ -407,13 +385,7 @@
return answer;
}
- protected String getEntryPrefix() {
- return "uid";
- }
- protected String getSearchSuffix() {
- return this.getUserFilter();
- }
/**
*
@@ -440,12 +412,12 @@
}
/**
- * @see org.apache.jetspeed.security.spi.impl.ldap.LdapPrincipalDaoImpl#getDnSuffix()
- */
- protected String getDnSuffix()
- {
- return this.getUserFilterBase();
- }
+ * @see org.apache.jetspeed.security.spi.impl.ldap.LdapPrincipalDaoImpl#getDnSuffix()
+ */
+ protected String getDnSuffix()
+ {
+ return this.getUserFilterBase();
+ }
/**
*
@@ -460,21 +432,36 @@
return new UserPrincipalImpl(principalUid);
}
- private String extractUid(String ldapName) {
- if (ldapName.indexOf(",")!=-1)
- return ldapName.substring(ldapName.indexOf("uid=")+4,ldapName.indexOf(","));
- return ldapName.substring(ldapName.indexOf("uid=")+4,ldapName.length());
+ private String extractLdapAttr(String dn,String ldapAttrName) {
+
+ String dnLowerCase = dn.toLowerCase();
+ String ldapAttrNameLowerCase = ldapAttrName.toLowerCase();
+
+ if (dnLowerCase.indexOf(ldapAttrNameLowerCase + "=")==-1)
+ return null;
+
+ if (dn.indexOf(",")!=-1 && dnLowerCase.indexOf(ldapAttrNameLowerCase + "=")!=-1)
+ return dn.substring(dnLowerCase.indexOf(ldapAttrNameLowerCase)+ldapAttrName.length()+1,dn.indexOf(","));
+ return dn.substring(dnLowerCase.indexOf(ldapAttrNameLowerCase)+ldapAttrName.length()+1,dn.length());
}
-
- private String extractCn(String ldapName) {
- if (ldapName.indexOf(",")!=-1)
- return ldapName.substring(ldapName.indexOf("cn=")+3,ldapName.indexOf(","));
- return ldapName.substring(ldapName.indexOf("cn=")+3,ldapName.length());
- }
-
+
protected String[] getObjectClasses() {
return this.getUserObjectClasses();
}
-
+ protected String getUidAttributeForPrincipal() {
+ return this.getUserUidAttribute();
+ }
+
+ protected String[] getAttributes() {
+ return getUserAttributes();
+ }
+
+ protected String getEntryPrefix() {
+ return "uid";
+ }
+
+ protected String getSearchSuffix() {
+ return this.getUserFilter();
+ }
}
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapGroupDaoImpl.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapGroupDaoImpl.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapGroupDaoImpl.java (working copy)
@@ -21,6 +21,7 @@
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
+import org.apache.commons.lang.StringUtils;
import org.apache.jetspeed.security.SecurityException;
import org.apache.jetspeed.security.impl.GroupPrincipalImpl;
@@ -77,6 +78,11 @@
classes.add(getObjectClasses()[i]);
attrs.put(classes);
attrs.put(getEntryPrefix(), principalUid);
+ if(!StringUtils.isEmpty(getGroupObjectRequiredAttributeClasses()))
+ attrs.put(getGroupObjectRequiredAttributeClasses(), "");
+ for (int i=0;i
* Replace or delete the user group attribute.
*
@@ -136,21 +123,13 @@
{
validateUid(userPrincipalUid);
validateUid(groupPrincipalUid);
-
- String userDn = "uid=" + userPrincipalUid + "," + getUserFilterBase();
+
try
{
- groupPrincipalUid = getGroupIdAttribute() + "=" + groupPrincipalUid;
-
- if (getGroupFilterBase()!=null && !getGroupFilterBase().equals(""))
- groupPrincipalUid+="," + getGroupFilterBase();
- groupPrincipalUid+="," + getRootContext();
- String rdn = getSubcontextName(userDn);
- Attributes attrs = new BasicAttributes(false);
+ Attributes attrs = new BasicAttributes(false);
+ attrs.put(getUserGroupMembershipAttribute(), getGroupDN(groupPrincipalUid));
- attrs.put(getUserGroupMembershipAttribute(), groupPrincipalUid);
- logger.debug("modifying attrs on " + rdn + " with : " + attrs);
- ctx.modifyAttributes(rdn, operationType, attrs);
+ ctx.modifyAttributes(getUserDN(userPrincipalUid,false), operationType, attrs);
}
catch (NamingException e)
@@ -165,7 +144,7 @@
*/
public void removeGroup(String userPrincipalUid, String groupPrincipalUid) throws SecurityException
{
- if (getUserGroupMembershipAttribute()!=null && !getUserGroupMembershipAttribute().equals(""))
+ if (!StringUtils.isEmpty(getUserGroupMembershipAttribute()))
modifyUserGroupByUser(userPrincipalUid, groupPrincipalUid, DirContext.REMOVE_ATTRIBUTE);
else
modifyUserGroupByGroup(userPrincipalUid, groupPrincipalUid, DirContext.REMOVE_ATTRIBUTE);
@@ -178,7 +157,7 @@
*/
public void addRole(String userPrincipalUid, String rolePrincipalUid) throws SecurityException
{
- if (getUserRoleMembershipAttribute()!=null && !getUserRoleMembershipAttribute().equals(""))
+ if (!StringUtils.isEmpty(getUserRoleMembershipAttribute()))
modifyUserRoleByUser(userPrincipalUid, rolePrincipalUid, DirContext.ADD_ATTRIBUTE);
else
modifyUserRoleByRole(userPrincipalUid, rolePrincipalUid, DirContext.ADD_ATTRIBUTE);
@@ -200,20 +179,13 @@
{
validateUid(userPrincipalUid);
validateUid(rolePrincipalUid);
- String userDn = lookupByUid(userPrincipalUid);
-
+
try
{
- rolePrincipalUid = getRoleIdAttribute() + "=" + rolePrincipalUid;
-
- if (getRoleFilterBase()!=null && !getRoleFilterBase().equals(""))
- rolePrincipalUid+="," + getRoleFilterBase();
- rolePrincipalUid+="," + getRootContext();
- String rdn = getSubcontextName(userDn);
- Attributes attrs = new BasicAttributes(false);
+ Attributes attrs = new BasicAttributes(false);
+ attrs.put(getUserRoleMembershipAttribute(), getRoleDN(rolePrincipalUid));
- attrs.put(getUserRoleMembershipAttribute(), rolePrincipalUid);
- ctx.modifyAttributes(rdn, operationType, attrs);
+ ctx.modifyAttributes(getUserDN(userPrincipalUid,false), operationType, attrs);
}
catch (NamingException e)
{
@@ -237,33 +209,28 @@
{
validateUid(userPrincipalUid);
validateUid(rolePrincipalUid);
- String userDn = "uid=" + userPrincipalUid + "," + getUserFilterBase() + "," + getRootContext();
try
{
- rolePrincipalUid = getRoleIdAttribute() + "=" + rolePrincipalUid;
-
- if (getRoleFilterBase()!=null && !getRoleFilterBase().equals(""))
- rolePrincipalUid+="," + getRoleFilterBase();
-
- String rdn = getSubcontextName(rolePrincipalUid);
Attributes attrs = new BasicAttributes(false);
+ attrs.put(getRoleMembershipAttribute(), getUserDN(userPrincipalUid));
- attrs.put(getRoleMembershipAttribute(), userDn);
- ctx.modifyAttributes(rdn, operationType, attrs);
+ ctx.modifyAttributes(getRoleDN(rolePrincipalUid,false), operationType, attrs);
}
catch (NamingException e)
{
throw new SecurityException(e);
}
}
- /**
+
+
+ /**
* @see org.apache.jetspeed.security.spi.impl.ldap.LdapUserPrincipalDao#removeGroup(java.lang.String,
* java.lang.String)
*/
public void removeRole(String userPrincipalUid, String rolePrincipalUid) throws SecurityException
{
- if (getUserRoleMembershipAttribute()!=null && !getUserRoleMembershipAttribute().equals(""))
+ if (!StringUtils.isEmpty(getUserRoleMembershipAttribute()))
modifyUserRoleByUser(userPrincipalUid, rolePrincipalUid, DirContext.REMOVE_ATTRIBUTE);
else
modifyUserRoleByRole(userPrincipalUid, rolePrincipalUid, DirContext.REMOVE_ATTRIBUTE);
@@ -285,21 +252,17 @@
for (int i=0;i
* Creates a GroupPrincipal object.
@@ -319,7 +282,7 @@
*/
public void addRoleToGroup(String groupPrincipalUid, String rolePrincipalUid) throws SecurityException
{
- if (getRoleGroupMembershipForRoleAttribute()!=null && !getRoleGroupMembershipForRoleAttribute().equals(""))
+ if (!StringUtils.isEmpty(getRoleGroupMembershipForRoleAttribute()))
modifyRoleGroupByRole(groupPrincipalUid, rolePrincipalUid, DirContext.ADD_ATTRIBUTE);
else
modifyRoleGroupByGroup(groupPrincipalUid, rolePrincipalUid, DirContext.ADD_ATTRIBUTE);
@@ -341,19 +304,13 @@
{
validateUid(groupPrincipalUid);
validateUid(rolePrincipalUid);
- String userDn = lookupGroupByUid(groupPrincipalUid);
try
{
- groupPrincipalUid = getGroupIdAttribute() + "=" + groupPrincipalUid;
-
- if (getRoleFilterBase()!=null && !getRoleFilterBase().equals(""))
- rolePrincipalUid+="," + getRoleFilterBase();
-
- String rdn = getSubcontextName(userDn);
+
Attributes attrs = new BasicAttributes(false);
+ attrs.put(getRoleGroupMembershipForRoleAttribute(), getGroupDN(groupPrincipalUid));
- attrs.put(getRoleGroupMembershipForRoleAttribute(), rolePrincipalUid);
- ctx.modifyAttributes(rdn, operationType, attrs);
+ ctx.modifyAttributes(getRoleDN(rolePrincipalUid,false), operationType, attrs);
}
catch (NamingException e)
{
@@ -376,19 +333,12 @@
{
validateUid(groupPrincipalUid);
validateUid(rolePrincipalUid);
- String userDn = lookupGroupByUid(groupPrincipalUid);
try
{
- rolePrincipalUid = getRoleIdAttribute() + "=" + rolePrincipalUid;
-
- if (getRoleFilterBase()!=null && !getRoleFilterBase().equals(""))
- rolePrincipalUid+="," + getRoleFilterBase();
-
- String rdn = getSubcontextName(userDn);
Attributes attrs = new BasicAttributes(false);
+ attrs.put(getGroupMembershipForRoleAttribute(), getRoleDN(rolePrincipalUid));
- attrs.put(getGroupMembershipForRoleAttribute(), rolePrincipalUid);
- ctx.modifyAttributes(rdn, operationType, attrs);
+ ctx.modifyAttributes(getGroupDN(groupPrincipalUid, false), operationType, attrs);
}
catch (NamingException e)
{
@@ -403,49 +353,40 @@
public void removeRoleFromGroup(String groupPrincipalUid, String rolePrincipalUid) throws SecurityException
{
- if (getRoleGroupMembershipForRoleAttribute()!=null && !getRoleGroupMembershipForRoleAttribute().equals(""))
+ if (!StringUtils.isEmpty(getRoleGroupMembershipForRoleAttribute()))
modifyRoleGroupByRole(groupPrincipalUid, rolePrincipalUid, DirContext.REMOVE_ATTRIBUTE);
else
modifyRoleGroupByGroup(groupPrincipalUid, rolePrincipalUid, DirContext.REMOVE_ATTRIBUTE);
}
-
- protected String getEntryPrefix() {
- return this.getUserIdAttribute();
- }
+ /**
+ *
+ * Return the list of group IDs for a particular user
+ *
+ * @param userPrincipalUid
+ * @return the array of group uids asociated with this user
+ * @throws SecurityException
+ */
+ public String[] getGroupUidsForUser(String userPrincipalUid) throws SecurityException
+ {
+ validateUid(userPrincipalUid);
+ SearchControls cons = setSearchControls();
+ try
+ {
+ if (!StringUtils.isEmpty(getUserGroupMembershipAttribute())) {
+ return membership.searchGroupMemberShipByUser(userPrincipalUid,cons);
+ }
+ return membership.searchGroupMemberShipByGroup(userPrincipalUid,cons);
+
+
+ }
+ catch (NamingException e)
+ {
+ throw new SecurityException(e);
+ }
+ }
- protected String getSearchSuffix() {
- return this.getUserFilter();
- }
-
- /**
- *
- * Return the list of group IDs for a particular user
- *
- * @param userPrincipalUid
- * @return the array of group uids asociated with this user
- * @throws SecurityException
- */
- public String[] getGroupUidsForUser(String userPrincipalUid) throws SecurityException
- {
- validateUid(userPrincipalUid);
- SearchControls cons = setSearchControls();
- try
- {
- if (getUserGroupMembershipAttribute()!=null && !getUserGroupMembershipAttribute().equals("")) {
- return membership.searchGroupMemberShipByUser(userPrincipalUid,cons);
- }
- return membership.searchGroupMemberShipByGroup(userPrincipalUid,cons);
-
-
- }
- catch (NamingException e)
- {
- throw new SecurityException(e);
- }
- }
-
/**
*
* Return an array of the roles that belong to a group.
@@ -462,7 +403,7 @@
SearchControls cons = setSearchControls();
try
{
- if (getRoleGroupMembershipForRoleAttribute()!=null && !getRoleGroupMembershipForRoleAttribute().equals("")) {
+ if (!StringUtils.isEmpty(getRoleGroupMembershipForRoleAttribute())) {
return membership.searchRolesFromGroupByRole(groupPrincipalUid,cons);
}
return membership.searchRolesFromGroupByGroup(groupPrincipalUid,cons);
@@ -475,32 +416,32 @@
}
- /**
- *
- * Returns the role IDs for a particular user
- *
- * Looks up the user, and extracts the rolemembership attr (ex : uniquemember)
- *
- * @param userPrincipalUid
- * @return the array of group uids asociated with this user
- * @throws SecurityException
- */
- public String[] getRoleUidsForUser(String userPrincipalUid) throws SecurityException
- {
- validateUid(userPrincipalUid);
- SearchControls cons = setSearchControls();
- try
- {
- if (getUserRoleMembershipAttribute()!=null && !getUserRoleMembershipAttribute().equals("")) {
- return membership.searchRoleMemberShipByUser(userPrincipalUid,cons);
- }
- return membership.searchRoleMemberShipByRole(userPrincipalUid,cons);
- }
- catch (NamingException e)
- {
- throw new SecurityException(e);
- }
- }
+ /**
+ *
+ * Returns the role IDs for a particular user
+ *
+ * Looks up the user, and extracts the rolemembership attr (ex : uniquemember)
+ *
+ * @param userPrincipalUid
+ * @return the array of group uids asociated with this user
+ * @throws SecurityException
+ */
+ public String[] getRoleUidsForUser(String userPrincipalUid) throws SecurityException
+ {
+ validateUid(userPrincipalUid);
+ SearchControls cons = setSearchControls();
+ try
+ {
+ if (!StringUtils.isEmpty(getUserRoleMembershipAttribute())) {
+ return membership.searchRoleMemberShipByUser(userPrincipalUid,cons);
+ }
+ return membership.searchRoleMemberShipByRole(userPrincipalUid,cons);
+ }
+ catch (NamingException e)
+ {
+ throw new SecurityException(e);
+ }
+ }
/**
*
@@ -518,7 +459,7 @@
SearchControls cons = setSearchControls();
try
{
- if (getUserGroupMembershipAttribute()!=null && !getUserGroupMembershipAttribute().equals("")) {
+ if (!StringUtils.isEmpty(getUserGroupMembershipAttribute())) {
return membership.searchUsersFromGroupByUser(groupPrincipalUid,cons);
}
return membership.searchUsersFromGroupByGroup(groupPrincipalUid,cons);
@@ -544,7 +485,7 @@
SearchControls cons = setSearchControls();
try
{
- if (getUserRoleMembershipAttribute()!=null && !getUserRoleMembershipAttribute().equals("")) {
+ if (!StringUtils.isEmpty(getUserRoleMembershipAttribute())) {
return membership.searchUsersFromRoleByUser(rolePrincipalUid,cons);
}
return membership.searchUsersFromRoleByRole(rolePrincipalUid,cons);
@@ -558,4 +499,25 @@
protected String[] getObjectClasses() {
return this.getUserObjectClasses();
}
+
+ protected String[] getAttributes() {
+ return this.getUserAttributes();
+ }
+
+ protected String getUidAttributeForPrincipal() {
+ return this.getUserUidAttribute();
+ }
+
+ protected String getEntryPrefix() {
+ return this.getUserIdAttribute();
+ }
+
+ protected String getSearchSuffix() {
+ return this.getUserFilter();
+ }
+
+ protected String getDnSuffix() {
+ return this.getUserFilterBase();
+ }
+
}
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/AbstractLdapDao.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/AbstractLdapDao.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/AbstractLdapDao.java (working copy)
@@ -28,6 +28,8 @@
import javax.naming.ldap.LdapContext;
import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.jetspeed.security.InvalidDnException;
import org.apache.jetspeed.security.InvalidPasswordException;
import org.apache.jetspeed.security.InvalidUidException;
@@ -43,6 +45,9 @@
*/
public abstract class AbstractLdapDao
{
+
+ private static final Log logger = LogFactory.getLog(AbstractLdapDao.class);
+
/** The ldap binding configuration. */
private LdapBindingConfig ldapBindingConfig = null;
@@ -167,7 +172,7 @@
protected SearchControls setSearchControls()
{
SearchControls controls = new SearchControls();
- controls.setReturningAttributes(new String[] {"cn","sn","o","uid","ou","objectClass","nsroledn","userPassword","member","uniqueMember"});
+ controls.setReturningAttributes(getKnownAttributes());
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
controls.setReturningObjFlag(true);
@@ -198,56 +203,56 @@
}
}
- /**
- *
- * Searches the LDAP server for the group with the specified uid attribute.
- *
- *
- * @return the user's DN
- */
- public String lookupGroupByUid(final String uid) throws SecurityException
- {
- validateUid(uid);
+// /**
+// *
+// * Searches the LDAP server for the group with the specified uid attribute.
+// *
+// *
+// * @return the user's DN
+// */
+// public String lookupGroupByUid(final String uid) throws SecurityException
+// {
+// validateUid(uid);
+//
+// try
+// {
+// SearchControls cons = setSearchControls();
+// NamingEnumeration searchResults = searchGroupByWildcardedUid(uid, cons);
+//
+// return getFirstDnForUid(searchResults);
+// }
+// catch (NamingException e)
+// {
+// throw new SecurityException(e);
+// }
+// }
+//
+// /**
+// *
+// * Searches the LDAP server for the role with the specified uid attribute.
+// *
+// *
+// * @return the user's DN
+// */
+// public String lookupRoleByUid(final String uid) throws SecurityException
+// {
+// validateUid(uid);
+//
+// try
+// {
+// SearchControls cons = setSearchControls();
+// NamingEnumeration searchResults = searchRoleByWildcardedUid(uid, cons);
+//
+// return getFirstDnForUid(searchResults);
+// }
+// catch (NamingException e)
+// {
+// throw new SecurityException(e);
+// }
+// }
- try
- {
- SearchControls cons = setSearchControls();
- NamingEnumeration searchResults = searchGroupByWildcardedUid(uid, cons);
-
- return getFirstDnForUid(searchResults);
- }
- catch (NamingException e)
- {
- throw new SecurityException(e);
- }
- }
-
/**
*
- * Searches the LDAP server for the role with the specified uid attribute.
- *
- *
- * @return the user's DN
- */
- public String lookupRoleByUid(final String uid) throws SecurityException
- {
- validateUid(uid);
-
- try
- {
- SearchControls cons = setSearchControls();
- NamingEnumeration searchResults = searchRoleByWildcardedUid(uid, cons);
-
- return getFirstDnForUid(searchResults);
- }
- catch (NamingException e)
- {
- throw new SecurityException(e);
- }
- }
-
- /**
- *
* Gets the first matching user for the given uid.
*
*
@@ -261,15 +266,7 @@
while ((null != searchResults) && searchResults.hasMore())
{
SearchResult searchResult = (SearchResult) searchResults.next();
-
-/* TODO: Java 5 dependency, needs to be resolved for Java 1.4 first before this can be enabled again
- userDn = searchResult.getNameInNamespace();
-*/
-// if (searchResult.getObject() instanceof DirContext)
-// {
-// DirContext userEntry = (DirContext) searchResult.getObject();
-// userDn = userEntry.getNameInNamespace();
-// }
+ userDn = searchResult.getName();
}
return userDn;
}
@@ -303,69 +300,81 @@
protected NamingEnumeration searchByWildcardedUid(final String filter, SearchControls cons) throws NamingException
{
// usa a template method to use users/groups/roles
- String searchFilter = "";
- if (getSearchSuffix()==null || getSearchSuffix().equals("")) {
- searchFilter = "(" + getEntryPrefix() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")";
+ String query = "";
+ if (StringUtils.isEmpty(getSearchSuffix())) {
+ query = "(" + getEntryPrefix() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")";
} else {
- searchFilter = "(&(" + getEntryPrefix() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")" + getSearchSuffix() + ")";
+ query = "(&(" + getEntryPrefix() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")" + getSearchSuffix() + ")";
}
-
- NamingEnumeration searchResults = ((DirContext) ctx).search(getSearchDomain(), searchFilter, cons);
+ logger.debug("searchByWildCardedUid = " + query);
- return searchResults;
+ cons.setSearchScope(getSearchScope());
+ //TODO: added this here for OpenLDAP (when users are stored in ou=People,o=evenSeas)
+ String searchBase = StringUtils.replace(getSearchDomain(), "," + getRootContext(), "");
+ NamingEnumeration results = ((DirContext) ctx).search(searchBase,query , cons);
+
+ return results;
}
- /**
- *
- * Search uid by wild card.
- *
- *
- * @param filter The filter.
- * @param cons The {@link SearchControls}
- * @return The {@link NamingEnumeration}
- * @throws NamingException Throws a {@link NamingEnumeration}.
- */
- protected NamingEnumeration searchGroupByWildcardedUid(final String filter, SearchControls cons) throws NamingException
- {
- // usa a template method to use users/groups/roles
- String searchFilter = "";
- if (getSearchSuffix()==null || getSearchSuffix().equals("")) {
- searchFilter = "(" + getGroupIdAttribute() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")";
- } else {
- searchFilter = "(&(" + getGroupIdAttribute() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")" + getGroupFilter() + ")";
- }
-
- NamingEnumeration searchResults = ((DirContext) ctx).search("", searchFilter, cons);
+// /**
+// *
+// * Search uid by wild card.
+// *
+// *
+// * @param filter The filter.
+// * @param cons The {@link SearchControls}
+// * @return The {@link NamingEnumeration}
+// * @throws NamingException Throws a {@link NamingEnumeration}.
+// */
+// protected NamingEnumeration searchGroupByWildcardedUid(final String filter, SearchControls cons) throws NamingException
+// {
+// // usa a template method to use users/groups/roles
+// String query = "";
+// if (StringUtils.isEmpty(getGroupFilter())) {
+// query = "(" + getGroupIdAttribute() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")";
+// } else {
+// query = "(&(" + getGroupIdAttribute() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")" + getGroupFilter() + ")";
+// }
+//
+// String searchBase = "";
+// if (!StringUtils.isEmpty(getGroupFilterBase()))
+// searchBase+=getGroupFilterBase();
+// cons.setSearchScope(getSearchScope());
+// NamingEnumeration results = ((DirContext) ctx).search(searchBase,query , cons);
+//
+// return results;
+// }
+//
+// /**
+// *
+// * Search uid by wild card.
+// *
+// *
+// * @param filter The filter.
+// * @param cons The {@link SearchControls}
+// * @return The {@link NamingEnumeration}
+// * @throws NamingException Throws a {@link NamingEnumeration}.
+// */
+// protected NamingEnumeration searchRoleByWildcardedUid(final String filter, SearchControls cons) throws NamingException
+// {
+// String query = "";
+// if (StringUtils.isEmpty(getRoleFilter())) {
+// query = "(" + getRoleIdAttribute() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")";
+// } else {
+// query = "(&(" + getRoleIdAttribute() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")" + getRoleFilter() + ")";
+// }
+//
+// String searchBase = "";
+// if (!StringUtils.isEmpty(getRoleFilterBase()))
+// searchBase+=getRoleFilterBase();
+// cons.setSearchScope(getSearchScope());
+// NamingEnumeration results = ((DirContext) ctx).search(searchBase,query , cons);
+//
+// return results;
+// }
- return searchResults;
- }
-
/**
*
- * Search uid by wild card.
- *
- *
- * @param filter The filter.
- * @param cons The {@link SearchControls}
- * @return The {@link NamingEnumeration}
- * @throws NamingException Throws a {@link NamingEnumeration}.
- */
- protected NamingEnumeration searchRoleByWildcardedUid(final String filter, SearchControls cons) throws NamingException
- {
- //String searchFilter = "(&(uid=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ") (objectclass="+ "jetspeed-2-role" + "))";
- String searchFilter = "";
- if (getRoleFilter()==null || getRoleFilter().equals("")) {
- searchFilter = "(" + getGroupIdAttribute() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")";
- } else {
- searchFilter = "(&(" + getGroupIdAttribute() + "=" + (StringUtils.isEmpty(filter) ? "*" : filter) + ")" + getRoleFilter() + ")";
- }
- NamingEnumeration searchResults = ((DirContext) ctx).search("", searchFilter, cons);
-
- return searchResults;
- }
-
- /**
- *
* Returns the default Group suffix dn.
*
*
@@ -501,14 +510,7 @@
{
return this.ldapBindingConfig.getUserFilter();
}
-
- /**
- *
- * Returns the default Group suffix dn.
- *
- *
- * @return The defaultDnSuffix.
- */
+
protected String[] getUserObjectClasses()
{
return this.ldapBindingConfig.getUserObjectClasses();
@@ -560,6 +562,64 @@
return this.ldapBindingConfig.getUserIdAttribute();
}
- protected abstract String[] getObjectClasses();
-
+ protected String getUidAttribute()
+ {
+ return this.ldapBindingConfig.getUidAttribute();
+ }
+
+ protected int getSearchScope()
+ {
+ return Integer.parseInt(this.ldapBindingConfig.getMemberShipSearchScope());
+ }
+
+ protected String getRoleUidAttribute()
+ {
+ return this.ldapBindingConfig.getRoleUidAttribute();
+ }
+
+ protected String getGroupUidAttribute()
+ {
+ return this.ldapBindingConfig.getGroupUidAttribute();
+ }
+
+ protected String getUserUidAttribute()
+ {
+ return this.ldapBindingConfig.getUserUidAttribute();
+ }
+
+ protected String getGroupObjectRequiredAttributeClasses()
+ {
+ return this.ldapBindingConfig.getGroupObjectRequiredAttributeClasses();
+ }
+
+ protected String getRoleObjectRequiredAttributeClasses()
+ {
+ return this.ldapBindingConfig.getRoleObjectRequiredAttributeClasses();
+ }
+
+ protected String[] getUserAttributes()
+ {
+ return this.ldapBindingConfig.getUserAttributes();
+ }
+
+ protected String[] getGroupAttributes()
+ {
+ return this.ldapBindingConfig.getGroupAttributes();
+ }
+
+ protected String[] getRoleAttributes()
+ {
+ return this.ldapBindingConfig.getRoleAttributes();
+ }
+
+ protected String getUserPasswordAttribute() {
+ return this.ldapBindingConfig.getUserPasswordAttribute();
+ }
+
+ protected String[] getKnownAttributes() {
+ return this.ldapBindingConfig.getKnownAttributes();
+ }
+
+ protected abstract String[] getObjectClasses();
+ protected abstract String[] getAttributes();
}
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapPrincipalDaoImpl.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapPrincipalDaoImpl.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapPrincipalDaoImpl.java (working copy)
@@ -27,6 +27,7 @@
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.jetspeed.security.GroupPrincipal;
@@ -98,10 +99,14 @@
public void create(final String principalUid) throws SecurityException
{
Attributes attrs = defineLdapAttributes(principalUid);
+ logger.debug("creating principal with " + attrs);
try
{
- String userDn = getEntryPrefix() + "=" + principalUid;
- if (getDnSuffix()!=null && !getDnSuffix().equals("")) userDn+="," + getDnSuffix();// + ',' + getDefaultSearchBase();
+ String userDn = getEntryPrefix() + "=" + principalUid;
+ if (!StringUtils.isEmpty(getDnSuffix()))
+ userDn+="," + getDnSuffix();
+
+ logger.debug("userDn = " + userDn);
ctx.createSubcontext(userDn, attrs);
if (logger.isDebugEnabled())
@@ -125,6 +130,16 @@
protected abstract String getDnSuffix();
/**
+ *
+ * Builds the dn suffix.
+ *
+ *
+ * @return The dn suffix.
+ */
+ protected abstract String getUidAttributeForPrincipal();
+
+
+ /**
* @see org.apache.jetspeed.security.spi.impl.ldap.LdapPrincipalDao#delete(java.lang.String)
*/
public void delete(final String principalUid) throws SecurityException
@@ -140,6 +155,8 @@
try
{
rdn = getSubcontextName(dn);
+ if(!StringUtils.isEmpty(getSearchDomain()))
+ rdn+="," + getSearchDomain();
ctx.destroySubcontext(rdn);
}
catch (NamingException e)
@@ -261,7 +278,7 @@
{
Attributes atts = searchResult.getAttributes();
- String uid = (String) getAttribute(getEntryPrefix(), atts).getAll().next();
+ String uid = (String) getAttribute(getUidAttributeForPrincipal(), atts).getAll().next();
Principal principal = makePrincipal(uid);
principals.add(principal);
@@ -281,7 +298,7 @@
{
Attribute attr = (Attribute) ae.next();
- if (attr.getID().equals(attributeName))
+ if (attr.getID().equalsIgnoreCase(attributeName))
{
return attr;
}
@@ -291,6 +308,53 @@
protected String getSearchDomain() {
return this.getUserFilterBase();
- }
+ }
+ protected String[] parseAttr(String attr, String replace) {
+ attr = StringUtils.replace(attr, "{u}", replace);
+ return StringUtils.split(attr,"=");
+ }
+
+ protected String getGroupDN(String groupPrincipalUid) {
+ return getGroupDN(groupPrincipalUid,true);
+ }
+
+ protected String getGroupDN(String groupPrincipalUid, boolean includeBaseDN) {
+ String groupDN = getGroupIdAttribute() + "=" + groupPrincipalUid;
+ if (!StringUtils.isEmpty(getGroupFilterBase()))
+ groupDN += "," + getGroupFilterBase();
+ if (includeBaseDN && !StringUtils.isEmpty(getRootContext()))
+ groupDN += "," + getRootContext();
+ return groupDN;
+ }
+
+ protected String getRoleDN(String rolePrincipalUid) {
+ return getRoleDN(rolePrincipalUid,true);
+ }
+
+ protected String getRoleDN(String rolePrincipalUid, boolean includeBaseDN) {
+ String roleDN = getRoleIdAttribute() + "=" + rolePrincipalUid;
+ if (!StringUtils.isEmpty(getRoleFilterBase()))
+ roleDN+="," + getRoleFilterBase();
+ if (includeBaseDN && !StringUtils.isEmpty(getRootContext()))
+ roleDN+="," + getRootContext();
+ return roleDN;
+ }
+
+ protected String getUserDN(String userPrincipalUid) {
+ return getUserDN(userPrincipalUid,true);
+ }
+
+ protected String getUserDN(String userPrincipalUid, boolean includeBaseDN) {
+ String userDN = getUserIdAttribute() + "=" + userPrincipalUid;
+ if (!StringUtils.isEmpty(getUserFilterBase()))
+ userDN += "," + getUserFilterBase();
+ if (includeBaseDN && !StringUtils.isEmpty(getRootContext()))
+ userDN += "," + getRootContext();
+ return userDN;
+ }
+
+
+
+
}
\ No newline at end of file
Index: D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapRoleDaoImpl.java
===================================================================
--- D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapRoleDaoImpl.java (revision 468102)
+++ D:/PROJECTS/ECLIPSE/JETSPEED2/jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/ldap/LdapRoleDaoImpl.java (working copy)
@@ -21,6 +21,7 @@
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
+import org.apache.commons.lang.StringUtils;
import org.apache.jetspeed.security.SecurityException;
import org.apache.jetspeed.security.impl.RolePrincipalImpl;
@@ -76,6 +77,10 @@
classes.add(getObjectClasses()[i]);
attrs.put(classes);
attrs.put(getEntryPrefix(), principalUid);
+ if(!StringUtils.isEmpty(getRoleObjectRequiredAttributeClasses()))
+ attrs.put(getRoleObjectRequiredAttributeClasses(), "");
+ for (int i=0;i
-
@@ -100,21 +99,20 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+