eduPersonScopedAffiliation är ett attribut i eduPerson-familjen som är tänkt att representera vilken typ av association som användaren har med organisationen. Attrbutet Attributet byggs dels av attributet eduPersonAffiliation och dels av en domändelsamma domändel som i eduPersonPrincipalName och i eduPersonUniqueID. Attributet är ett flervärt attribut som innehåller en eller flera av följande värden:
eduPersonAffiliation eduPersonScopedAffiliation | Förklaring |
---|---|
| Professorer, forskare och lektorer |
| Övrig personal vid lärosätet |
|
|
| Aktiv student |
| Alumner - tidigare student |
|
|
| Någon som har en association med universitetet men till vilken man inte ger några rättigheter. |
| Person som är fysiskt närvarande vid ett universitets-bibliotek |
En bild säger mer än tusen ord
...
Nedan visas inbördes ordning i eduPersonAffliation, dvs utan domändel.
draw.io Diagram | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Användning i SWAMID
Värden på eduPersonScopedAffiliation är skapade för Anglosaxiska förhållanden. SPer i SWAMID Tjänster (SP) anslutna till SWAMID eller genom interfederationen eduGAIN kan förutsätta att åtminstone följande kombinationer används på samma sätt av alla medlemmar i SWAMID:.
eduPersonAffiliationeduPersonScopedAffiliation-värden | Typ av association med universitetet |
---|---|
|
|
|
|
|
|
|
|
|
|
...
Info |
---|
Konfigurationerna under detta avsnitt fungerar endast för Shibboleth 2 eller senare. För simpleSAMLphp och ADFS2 kan konfigurationsexemplen endast användas som inspiration. |
Förutsättningar:
Värden för eduPersonScopedAffiliation följer användningen i SWAMID enlig ovan.
Alla medlemmar i gruppen "Anstallda" får
member@hogskola.se
ochemployee@hogskola.se
member@domän
ochemployee@domän
.Alla medlemmar i gruppen "Studenter" får
member@hogskola.se
ochstudent@hogskola.se
.member@domän
ochstudent@domän
.Alla medlemmar i gruppen "OvrigaMedlemmar" får
member@hogskola.se
member@domän
.Alla medlemmar i gruppen "Anknytna" får
affiliate@domän
.Alla medlemmar i gruppen "Alumner" får
alumn@hogskola.se
alum@domän
.
Känd begränsning:
Grupper i grupper fungerar inte.
Om du använder Active Directory för att slå upp grupperna så är gruppnamnet hela distinguishedName för gruppen.
Ersätt --domän-- med organisationens scope i metadata, oftast organisationens toppdomän..
Code Block <resolver:AttributeDefinition xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="memberOf" dependencyOnly="trueScript" id="eduPersonAffiliation"> <resolver:Dependency ref="myLDAP" /> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="eduPersonScopedAffiliation"> <!-- Dependency that provides the source attribute. --> <resolver:Dependency ref="memberOf" /> <!-- SAML 1 and 2 encoders for the attribute. --> <resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" enc:SAML1String" name="urn:mace:dir:attribute-def:eduPersonScopedAffiliationeduPersonAffiliation" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" 1" friendlyName="eduPersonScopedAffiliationeduPersonAffiliation" /> <!-- The script, wrapped in a CDATA section so that special XML characters don't need to be removed --> <Script><![CDATA[ importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider); // Create attribute to be returned from definition eduPersonAffiliation = new BasicAttribute("eduPersonScopedAffiliation"); // If the user has group membership if (typeof memberOf != "undefined" && memberOf != null ){ // The go through each group membership and add the appropriate affiliation // The IdP will remove duplicate values so we don't need to worry about that here for ( i = 0; i < memberOf.getValues().size(); i++ ) { if (memberOf.getValues().get(i).equals("Anstallda") > 0) { eduPersonAffiliation.getValues().add("member@hogskola.semember"); eduPersonAffiliation.getValues().add("employee@hogskola.seemployee"); } if (memberOf.getValues().get(i).equals("Studenter") > 0) { eduPersonAffiliation.getValues().add("member@hogskola.semember"); eduPersonAffiliation.getValues().add("student@hogskola.sestudent"); } if (memberOf.getValues().get(i).equals("OvrigaMedlemmar") > 0) { eduPersonAffiliation.getValues().add("member"); } if ("member@hogskola.sememberOf.getValues().get(i).equals("Anknytna") > 0) { eduPersonAffiliation.getValues().add("affiliate"); } if (memberOf.getValues().get(i).equals("Alumner") > 0) { eduPersonAffiliation.getValues().add("alumn@hogskola.sealum"); } } } ]]></Script> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="ad:Scoped" id="eduPersonScopedAffiliation" scope="--domän--" sourceAttributeID="eduPersonAffiliation"> <resolver:Dependency ref="eduPersonAffiliation" /> <resolver:AttributeEncoder xsi:type="enc:SAML1ScopedString" name="urn:mace:dir:attribute-def:eduPersonScopedAffiliation" /> <resolver:AttributeEncoder xsi:type="enc:SAML2ScopedString" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" friendlyName="eduPersonScopedAffiliation" /> </resolver:AttributeDefinition>