Code Block |
---|
Kopierad till ny Wiki |
eduPersonAffiliation är ett attribut i eduPerson-familjen som är tänkt att representera vilken typ av association som användaren har med organisationen. Attributet är ett flervärt attribut som innehåller en eller flera av följande värden:
eduPersonAffiliation | 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:
Gliffy Diagram | ||
---|---|---|
|
Användning i SWAMID
Värden på eduPersonAffiliation är skapade för Anglosaxiska förhållanden. SPer i SWAMID kan förutsätta att åtminstone följande kombinationer används på samma sätt av alla medlemmar i SWAMID:
eduPersonAffiliation-värden | Typ av association med universitetet |
---|---|
|
|
|
|
|
|
|
|
Exempel: Skapa värden via Shibboleth på eduPersonAffiliation med hjälp av grupper i LDAP
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 eduPersonAffiliation följer användningen i SWAMID enlig ovan.
- Alla medlemmar i gruppen "Anstallda" får
member
ochemployee
. - Alla medlemmar i gruppen "Studenter" får
member
ochstudent
. - Alla medlemmar i gruppen "OvrigaMedlemmar" får
member
. - Alla medlemmar i gruppen "Alumner" får
alumn
.
Känd begränsning:
- Grupper i grupper fungerar inte.
Code Block <resolver:AttributeDefinition xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="memberOf" dependencyOnly="true"> <resolver:Dependency ref="myLDAP" /> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="eduPersonAffiliation"> <!-- 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" name="urn:mace:dir:attribute-def:eduPersonAffiliation" /> <resolver:AttributeEncoder xsi:type="SAML2String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1" friendlyName="eduPersonAffiliation" /> <!-- 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("eduPersonAffiliation"); // 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")){ eduPersonAffiliation.getValues().add("member"); eduPersonAffiliation.getValues().add("employee"); } if (memberOf.getValues().get(i).equals("Studenter")){ eduPersonAffiliation.getValues().add("member"); eduPersonAffiliation.getValues().add("student"); } if (memberOf.getValues().get(i).equals("OvrigaMedlemmar")){ eduPersonAffiliation.getValues().add("member"); } if (memberOf.getValues().get(i).equals("Alumner") > 0){ eduPersonAffiliation.getValues().add("alumn"); } } } ]]></Script> </resolver:AttributeDefinition>