Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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:

eduPersonScopedAffiliation

Förklaring

faculty@domän

Professorer, forskare och lektorer

staff@domän

Övrig personal vid lärosätet

employee@domän

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

student@domän

Aktiv student

alumn@domänalum@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.

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNameeduPersonAffliation tree
simpleViewertrue
width
linksauto
tbstylehidden
lboxtrue
diagramWidth764
revision1
Gliffy Diagram
nameeduPersonAffiliation

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:.

eduPersonScopedAffiliation-värden

Typ av association med universitetet

employee@domän, 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)

student@domän, member@domän, student@domän

  • Aktiva studenter

member@domän

  • Gästforskare som arbetar som om de vore en del av organisationen
  • Konsulter som arbetar som om de vore en del av organisationen
  • etc.

affiliate@domän

  • Externa forskare som deltar i forskningsprojekt inom organisationen
  • Konsulter som utför uppdrag åt organisationen
  • etc.

alum@domänalumn@domän

  • Alumner - tidigare studenter

...

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 och employee@hogskola.se

    member@domän och employee@domän.

  • Alla medlemmar i gruppen "Studenter" får

    member@hogskola.se och student@hogskola.se

    member@domän och student@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@hogskola.semember");
                    }
                    if (memberOf.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>