You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

eduPersonScopedAffiliation är ett attribut i eduPerson-familjen som är tänkt att representera vilken typ av association som användaren har med organisationen. Attributet byggs dels av attributet eduPersonAffiliation och dels av samma 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:

eduPersonScopedAffiliation

Förklaring

faculty@domän

Professorer, forskare och lektorer

staff@domän

Övrig personal vid lärosätet

employee@domän

faculty och staff (inkl. övrigt verksam, person som inte är anställd men agerar som sådan)

student@domän

Aktiv student

alum@domän

Alumner - tidigare student

member@domän

employee, student och andra "in good standing of the university community"

affiliate@domän

Någon som har en association med universitetet men till vilken man inte ger några rättigheter.

library-walk-in@domän

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.

Användning i SWAMID

Värden på eduPersonScopedAffiliation ä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:

eduPersonScopedAffiliation-värden

Typ av association med universitetet

member@domän, employee@domän

  • Anställda vid lärosätet
  • Övriga verksamma (personer som inte är anställda men agerar som sådana)

member@domän, student@domän

  • Aktiva studenter

member@domän

  • Gästforskare
  • Konsulter
  • etc.

alum@domän

  • Alumner - tidigare studenter

Exempel: Skapa värden via Shibboleth på eduPersonScopedAffiliation med hjälp av grupper i LDAP

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@domän och employee@domän.
  • Alla medlemmar i gruppen "Studenter" får member@domän och student@domän.
  • Alla medlemmar i gruppen "OvrigaMedlemmar" får member@domän.
  • Alla medlemmar i gruppen "Anknutna" får affiliate@domän.
  • Alla medlemmar i gruppen "Alumner" får 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..

    <resolver:AttributeDefinition xsi:type="Script" id="eduPersonAffiliation">
         <resolver:Dependency ref="myLDAP" />
        <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:eduPersonAffiliation" />
        <resolver:AttributeEncoder xsi:type="enc:SAML2String" 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[
            // 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");
                        eduPersonAffiliation.getValues().add("employee");
                    }
                    if (memberOf.getValues().get(i).equals("Studenter") > 0) {
                        eduPersonAffiliation.getValues().add("member");
                        eduPersonAffiliation.getValues().add("student");
                    }
                    if (memberOf.getValues().get(i).equals("OvrigaMedlemmar") > 0) {
                        eduPersonAffiliation.getValues().add("member");
                    }
                    if (memberOf.getValues().get(i).equals("Anknutna") > 0) {
                        eduPersonAffiliation.getValues().add("affiliate");
                    }
                    if (memberOf.getValues().get(i).equals("Alumner") > 0) {
                        eduPersonAffiliation.getValues().add("alum");
                    }
                }
            }
        ]]></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>
  • No labels