Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
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

faculty Anställd forskare eller lärare - "fakultetspersonal"

Professorer, forskare och lektorer

staff

Övrig personal vid lärosätet

employee

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

student

Aktiv student

staff

Anställd - ej fakultetspersonal

alum

Alumner - tidigare student

member

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

affiliate

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

Anställd - faculty+staff+övriga typer av anställda

library-walk-in

Person som är fysiskt närvarande vid ett universitets-bibliotek

En bild säger mer än tusen ord:

Gliffy Diagram
nameeduPersonAffiliation

Användning i SWAMID

Värden på eduPersonAffiliation Dessa värden är skapade för Anglosaxiska förhållanden. SWAMID rekommenderar och förutsätter SPer i SWAMID kan förutsätta att åtminstone följande kombinationer används på samma sätt överallt:av alla medlemmar i SWAMID:

alumn

eduPersonAffiliation-värden

Typ av association med universitetet

eduPersonAffiliation-värden

Anställd

member,employee

Gästforskare

member

Aktiv student

student

Alumn

member, employee

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

member, student

  • Aktiva studenter

member

  • Gästforskare
  • Konsulter
  • etc.

alumn

  • Alumner - tidigare studenter

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 och employee.
  • Alla medlemmar i gruppen "Studenter" får member och student.
  • 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>