AD nested groups
Hong Ye
hy93 at cornell.edu
Tue Jul 25 12:30:32 EDT 2017
Michael,
Thanks for your reply. I don’t know how to write a scrip to get the group names for each SID in attribute resolver. Is there an example in WIKI?
Hong
From: users <users-bounces at shibboleth.net> on behalf of "Domingues, Michael D" <michael-domingues at uiowa.edu>
Reply-To: Shib Users <users at shibboleth.net>
Date: Tuesday, July 25, 2017 at 11:44 AM
To: Shib Users <users at shibboleth.net>
Subject: Re: AD nested groups
On the topic of the question, since you're using AD, I'd see if you could use the tokenGroups attribute [1] and then translate the SIDs it contains into usable group names.
Michael
[1] https://msdn.microsoft.com/en-us/library/ms680275(v=vs.85).aspx
________________________________
From: Domingues, Michael D
Sent: Tuesday, July 25, 2017 10:21:41 AM
To: Shib Users
Subject: Re: AD nested groups
Not directly related to this question, but worth noting. Unless I'm horribly misunderstanding things (and my testing leads me to believe that this is true), I don't think that the version of Ldaptive bundled with Shibboleth (as of 3.3.1) respects java.naming.referral = "follow".
Referral chasing support was only introduced in Ldaptive 1.1.0 [1], and Shibboleth (as of 3.3.1) ships with 1.0.9.
Michael
[1] http://www.ldaptive.org/changelog.html
________________________________
From: users <users-bounces at shibboleth.net> on behalf of Hong Ye <hy93 at cornell.edu>
Sent: Tuesday, July 25, 2017 10:00:17 AM
To: Shib Users
Subject: AD nested groups
Hi,
Does anyone know how to get all the AD group membership including nested groups for a user in AttributeResolver? I tried the solution below, but it’s very slow. Is there any other solution?
<!-- get the user's DN from the main LDAP connector (myLDAP) for searching the groups the user is in -->
<resolver:AttributeDefinition id="distinguishedName" xsi:type="ad:Simple"
sourceAttributeID="distinguishedname">
<resolver:Dependency ref="psdldap" />
<!-- no encoder needed, use your existing ldap connector as dependency -->
</resolver:AttributeDefinition>
<!-- search for all groups the user is recursively in - and flatten the distinguishedName(s) of all the groups into a single multivalued attribute (copy from existing connector, note searchTimeLimit) -->
<resolver:DataConnector id="groupLDAP" xsi:type="dc:LDAPDirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc" ldapURL="ldap://ldap-server:389" baseDN="your base dn" principal="Admin User CN" principalCredential="Admin Pass" useStartTLS="false" maxResultSize="1000" mergeResults="true" searchTimeLimit="0">
<resolver:Dependency ref="distinguishedName" />
<dc:FilterTemplate>
<![CDATA[
(member:1.2.840.113556.1.4.1941:=${distinguishedName.get(0)})
]]>
</dc:FilterTemplate>
<dc:ReturnAttributes>distinguishedName</dc:ReturnAttributes>
<dc:LDAPProperty name="java.naming.referral" value="follow"/>
</resolver:DataConnector>
<resolver:AttributeDefinition id="memberOf" xsi:type="ad:Simple"
sourceAttributeID="distinguishedName">
<resolver:Dependency ref="groupLDAP" />
<!-- no encoder needed -->
</resolver:AttributeDefinition>
Thanks,
Hong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20170725/15383206/attachment-0001.html>
More information about the users
mailing list