Unless there's a different method that I'm missing, there would just be too many groups to do this manageably with. I need to store pairs of values from a list of about 20 from one group (locations), and 50 from another (roles), from which any combinations are possible, and they have to be associated, they don't mean anything in isolated context without the other. The only way I could think to do this with groups would be to create a 20x50 matrix (1000 cells) for "location a, role a" ... "location a, role b" ... "location g, role h", etc. I don't want to manage 1000 security groups, as well as possibly being in a position of having to create more and repopulate things when new elements are added to the possible values.

If there's a different way to approach this, I'm open to it, but so far Frank's solution seems to be the cleanest, and I did produce a workable test of this yesterday under AD. It means I have to parse the values of the pairs at the application level, which is a bit more work, but I'm going on the understanding that there's no way to have value pairs within LDAP.

The other possibility I was considering was to have a new object type for a "location role", with a location code, a role code, and an employee ID to map back to the person record, but the fact that each of these would have to have a unique DN seemed redundant and wasteful - really, the DN could itself contain all of the data, since it would basically be a primary key, so you'd have a structureless object like "employeeID=12345,cn=location_a,cn=role_d,cn=people,dc=foo,dc=org" without any actual content? That didn't make much sense to me when I was thinking of it, but I know I still have SQL and relational tables on the brain with this method, and this approach doesn't seem to make much sense from what I understand about LDAP. If there's a way to do it this way, though, I'm also open to considering it - in some ways, it would be easier because less application-level parsing would be required to retrieve the information, and queries could play a bigger role...



On Nov 2, 2007, at 10:08 AM, Dustin Puryear wrote:

Unless I'm missing something this is best solved using group membership.
Why are we forcing an attribute for this? The only reason I'd use the
attribute method is if I needed to support unknown values, which doesn't
seem to be the case here.

--
Puryear Information Technology, LLC
Baton Rouge, LA * 225-706-8414
http://www.puryear-it.com

Author, "Best Practices for Managing Linux and UNIX Servers"
  http://www.puryear-it.com/pubs/linux-unix-best-practices

Identity Management, LDAP, and Linux Integration


Steve Linberg wrote:

On Oct 31, 2007, at 6:53 PM, Frank Swasey wrote:

Steve,

You are absolutely correct that LDAP is very flat and goes out of its
way to tell you not to count on order of values.

That being said, what the developers have done when they cared about
order was to use a "list" type attribute.  Take a look at the
postalAddress attribute which takes a list of values separated by "$"
characters.

So, your example of

fooRole: location_a $ role_a
fooRole: location_b $ role_b

would be the way to go.

This sounds exactly like what I need. Thanks very much.

Cheers,

Steve


--
Steve Linberg, Chief Goblin
Silicon Goblin Technologies
http://silicongoblin.com
Be kind.  Remember, everyone you meet is fighting a hard battle.




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

--
Steve Linberg, Chief Goblin
Silicon Goblin Technologies
http://silicongoblin.com
Be kind.  Remember, everyone you meet is fighting a hard battle.






---
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