Hello,
I am trying to setup the ACI authorization system. Unfortunately, I haven't been able to.

I am using version 1.0.2 on a windowsXP machine.

The partition is defined as follows:

<bean id="testparPartitionConfiguration" class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
   <property name="name" value="testpar" />
   <property name="cacheSize" value="10"/>
   <property name="suffix" value="o=testpar" />
   <property name="optimizerEnabled" value="true" />
   <property name="synchOnWrite" value="true" />
   <property name="indexedAttributes">
     <set>
<bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
         <property name="attributeId" value="cn" />
         <property name="cacheSize" value="10" />
       </bean>
<bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
         <property name="attributeId" value="uid" />
         <property name="cacheSize" value="10" />
       </bean>
<bean class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
         <property name="attributeId" value="objectClass" />
         <property name="cacheSize" value="10" />
       </bean>
     </set>
   </property>
   <property name="contextEntry">
     <value>
       objectClass: top
       objectClass: organization
       objectClass: extensibleObject
       o: testpar
     </value>
   </property>
</bean>


The partition dump is:

# ========================================================================
# ApacheDS Tools Version: 1.0.2
# Partition Directory: c:\program files\apacheds-1.0.2\var\partitions\testpar
# ========================================================================


#---------------------
# Entry: 1
#---------------------

dn: o=testpar
o: testpar
administrativerole: accessControlSpecificArea
objectclass: top
objectclass: organization
objectclass: extensibleObject
accessControlSubentries: 2.5.4.3=testparauthorizationrequirementsacisubentry,2.5
.4.10=testpar
modifyTimestamp: 20080615160255Z
modifiersName: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system


#---------------------
# Entry: 2
#---------------------

dn: ou=people,o=testpar
createTimestamp: 20080615160255Z
ou: people
objectclass: organizationalunit
objectclass: top
accessControlSubentries: 2.5.4.3=testparauthorizationrequirementsacisubentry,2.5
.4.10=testpar
description: Contains entries which describe persons (employees)
creatorsName: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system


#---------------------
# Entry: 3
#---------------------

dn: uid=testme,ou=people,o=testpar
uid: testme
userpassword:: e1NIQX1Pcjd4b1V6T3pTRFd6b2tzdmdRcTV0ZEpSc2c9
sn: testme
createTimestamp: 20080615160255Z
ou: people
cn: testme testme
givenname: testme
o: testpar
objectclass: person
objectclass: inetorgperson
objectclass: organizationalperson
objectclass: top
accessControlSubentries: 2.5.4.3=testparauthorizationrequirementsacisubentry,2.5
.4.10=testpar
creatorsName: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system


#---------------------
# Entry: 4
#---------------------

dn: cn=testparauthorizationrequirementsacisubentry,o=testpar
createTimestamp: 20080615160255Z
cn: testparauthorizationrequirementsacisubentry
prescriptiveaci:: base64encoded entry here
prescriptiveaci:: base64encoded entry here
accessControlSubentries: 2.5.4.3=testparauthorizationrequirementsacisubentry,2.5
.4.10=testpar
objectclass: subentry
objectclass: accesscontrolsubentry
objectclass: top
subtreespecification: {}
creatorsName: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system

The decoded first prescriptiveaci entry is:

{
 identificationTag "directoryManagerFullAccessACI",
 precedence 11,
 authenticationLevel simple,
 itemOrUserFirst userFirst:
 {
   userClasses{name{"uid=testme,ou=people,o=testpar"}},
   userPermissions
   {
     {
       protectedItems{entry},
grantsAndDenials{grantAdd,grantDiscloseOnError,grantRead,grantRemove,grantBrowse,grantExport,grantImport,grantModify,grantRename,grantReturnDN}
     },
     {
       protectedItems{allUserAttributeTypesAndValues},
grantsAndDenials{grantAdd,grantDiscloseOnError,grantRead,grantRemove,grantCompare,grantFilterMatch,grantInvoke}
     }
   }
 }
}

The decoded second prescriptiveaci entry is:

{
 identificationTag "allUsersACI",
 precedence 10,
 authenticationLevel none,
 itemOrUserFirst userFirst:
 {
   userClasses{allUsers},
   userPermissions
   {
     {
       protectedItems{entry},
grantsAndDenials{grantDiscloseOnError,grantRead,grantBrowse,grantReturnDN}
     },
     {
       protectedItems{allUserAttributeTypesAndValues},
grantsAndDenials{grantDiscloseOnError,grantRead,grantCompare,grantFilterMatch}
     },
     {
       protectedItems{attributeType{userPassword}},
       grantsAndDenials{denyRead,denyCompare,denyFilterMatch}
     },
     {
       protectedItems{attributeValue{superUser}},
       grantsAndDenials{denyRead,denyCompare,denyFilterMatch}
     }
   }
 }
}

Anonymous access is disabled and the ACI system is enabled in server.xml
Both prescripriveaci entries seems to be ignored. Any ideas?

Andreas

Reply via email to