From: Richard Thomas <[EMAIL PROTECTED]>

Craig L. Ching wrote:
 know that LDAP schemas have provisions for users and groups, but how
do I integrate my rights system with LDAP?  Is there some standard?  Or
should I be building my own DIT (if I understand the concept correctly)?
Are there any examples of other software that I could look at for
reference?

You may not want to depending on your application (You could just use
the LDAP for authentication if you want). If you do however,
groupOfNames is what you'll be wanting to look at.

Yes.

From: Jeff Clowser <[EMAIL PROTECTED]>
Actually, I'd recommend putting the group->rights mapping in LDAP, so that everything is in one place, and you can administer it all together from one interface. Otherwise, you tend to get disconnects over time.

Yes.

1. Extend groupofuniquenames. Say, create an objectclass called appGroup, that inherits from groupofuniquenames.

No. groupOfUniqueNames is (mostly) worthless in LDAP. Use groupOfNames.


From: "Craig L. Ching" <[EMAIL PROTECTED]>
So now, a user enters their username/password into our login system.

We bind to the LDAP server to autheniticate.

If authentication is successful, we search for the groups that the user
is a member of.  We will find this information by configuration options
specified at our product's installation time.  It will be specific to
each LDAP implementation we support.

Once we have the groups, we look for our new custom element and pull out
the rights from that element.

Does that sound about right?

A particular authorization check can be accomplished in one step. If you define your custom group objectClass to include a rights attribute, e.g.

   objectClass ( myGroupOID NAME 'myGroup' SUP groupOfNames MAY myRights )

and you have a group entry like

   dn: cn=developers,ou=groups,dc=example,dc=com
   cn: developers
   objectClass: myGroup
   member: cn=joe bloggs,ou=people,dc=example,dc=com
   member: cn=jane doe,ou=people,dc=example,dc=com
   myRights: createFiles
   myRights: destroyFiles
   myRights: computePi

then once the user has authenticated, you verify a particular right by doing a search with the filter:

(&(objectClass=myGroup)(member=cn=jane doe,ou=people,dc=example,dc=com)(myRights=createFiles))

You don't need to examine the contents of the returned entries at all. If the search returns any entries, then you know that the particular user belongs to at least one group with the required privilege. You only need to examine the contents if you're trying to exhaustively display all of the rights associated with a given user.

--
 -- Howard Chu
 Chief Architect, Symas Corp.  http://www.symas.com
 Director, Highland Sun        http://highlandsun.com/hyc
 OpenLDAP Core Team            http://www.openldap.org/project/


---
You are currently subscribed to [email protected] as: [EMAIL PROTECTED]
To unsubscribe send email to [EMAIL PROTECTED] with the word UNSUBSCRIBE as the 
SUBJECT of the message.

Reply via email to