Support for Groups in LDAP Identity

Registered by Adam Young

Groups are implemented groupOfNames. Group membership is done by
appending the users DN to membership attribute. That is pretty much
what you just wrote, and I think it is the only way to do group
membership that makes sense.

roles are implemented as organizationalRole. They are collected under
the project object, which is implementated as a groupOfNames object.

so the project is a gON object and it has multiple children which are the roles that can be used with this project.

 A
 user is assigned roll by being appended to the roleOccupant attribute of
 the organizationalROle.

Its the standard use of the roleOccupant attribute which is multi-valued. Its quite common to have multiple people with the same roles e.g. Manager, team leader, professor etc. are all roles usually held by many people.

So to add groups to the role, we append the DN of the group to the
roleOccupant field. This is on the organizationalRole object, not the
groupOfNames.

 Now, to determine the roles for a user/project, we need to > iterate through all of the users of the orgRole.roleOcc attribute. If the user is there, they have that role.

 If there are any groups in there, we need to iterate through each of the groups to find out if the user is a member of that group. If they are, they have that role.

It is possible that some LDAP implementation will call for recursively checking group membership. That will not be supported in the first implementation

also a member of the group

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Adam Young
Direction:
Needs approval
Assignee:
Sahdev Zala
Definition:
New
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Sahdev Zala
Completed by
Sahdev Zala

Related branches

Sprints

Whiteboard

Hi Adam, not being an expert on LDAP I had some colleagues who have more experience with LDAP review the blueprint design. It was very well received! Thanks for putting this together

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.