On 24/04/11 17:50, Brian Bowling wrote:
Hi Brian,
I have been looking at adding LDAP authentication to my jspwiki implementation
also, so this was very helpful. Would it be possible for you to post a sample
LDIF entry for a user or two?
I should start by saying that I use the apacheds project for my ldap
server. I used to use the iPlanet/Sun/Fedora directory server and it has
taken me a while to come to terms with the more modern (standards
conformant) schema and access control mechanisms in apacheds. (I'm not
at the bleeding edge - I've been using 1.5.4 in production for nearly 2
years). The last time I looked, most of the alternatives are
incompatible in these important areas, but I'll offer mine and you'll
have to convert if necessary (you'll get the general idea).
I have a lot of SIP mods in my directory, so I "stole" some "spare"
oid's from the SIP space...
dn: cn=schema
changetype: modify
add: attributetypes
attributetypes: ( 0.0.8.350.1.1.6.1.20
NAME 'tomcatRole'
DESC ' the name of a tomcat security role'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
dn: cn=schema
changetype: modify
add: objectclasses
objectclasses: ( 0.0.8.350.1.1.6.2.80
NAME 'tomcatRoleAllowed'
DESC 'tomcatRoleAllowed aux object'
SUP top AUXILIARY
MAY tomcatRole
)
I'll leave it to you to define an authenticator user entry and suitable
ACI's (because they are not critical to getting something working). I
have a group called ldapAuths and define ACI's to say what they can and
can't do. My tomcat container authenticator is a member of that group,
so it can read a wider range of sensitive attributes than it actually
needs, but it can't change anything.
Here is how I give a typical user permission to access jspwiki:
dn: uid=testUser1,ou=People,o=PingToo.com
changetype: modify
replace: objectclass
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectclass: tomcatRoleAllowed
-
replace: tomcatRole
tomcatRole: tomcat
tomcatRole: family
tomcatRole: photoview
tomcatRole: wikiuser
-
replace: userpassword
# tomcat is setup for SHA digests but can't handle multiple hashes
userPassword: {SHA}nvRBAtZQFzdRld1vS1TWlBb6kuQ=
Don't be afraid - the best way to eat an elephant is one bite at a time!
Regards,
Brian