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:

...

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

eduPersonAffiliation-värden

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>