Versions Compared

Key

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

...

Att både SWAMID AL1 och SWAMID AL2 signaleras för en användare som är godkänd för SWAMID AL2 beror på att tjänsteleverantörerna inte ska behöva veta tillitsprofilernas inbördes ordning.

Exempel Shibboleth: eduPersonAssurance finns i LDAP med endast högsta värdet

Förutsättningar:

 

Code Block
languagexml
<resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="eduPersonAssurance" >
     <resolver:Dependency ref="myLDAP" />
     <resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:mace:dir:attribute-def:eduPersonAssurance" />
     <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.11" friendlyName="eduPersonAssurance" />
     <Script>
          <![CDATA[
               if ((eduPersonAssurance) && (eduPersonAssurance.getValues().contains("http://www.swamid.se/policy/assurance/al2"))) {
                    eduPersonAssurance.getValues().add("http://www.swamid.se/policy/assurance/al1");
               }
          ]]>
     </Script>
</resolver:AttributeDefinition>

Exempel Shibboleth: eduPersonAssurance finns i Active Directory som gruppmedlemskap

Förutsättningar:

  • Användare som endast är godkända för SWAMID AL1 är medlemmar i gruppen SWAMID-AL1.
  • Användare som är godkända för SWAMID AL2 är medlemmar i gruppen SWAMID-AL2.
  • Användare som inte är godkända för varken SWAMID AL1 eller SWAMID AL2 är inte medlemmar i någon av dessa bägge grupper.

 

Code Block
languagexml
 <resolver:AttributeDefinition xsi:type="Script" id="eduPersonAssurance" >     <resolver:Dependency ref="myLDAP" />     <resolver:AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:eduPersonAssurance" />
     <resolver:AttributeEncoder xsi:type="SAML2String" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" friendlyName="eduPersonAssurance" />
     <Script>          <![CDATA[               if (memberOf) {                    for (i=0; i < memberOf.getValues().size(); i++) {                         if (memberOf.getValues().get(i).equals("SWAMID-AL1")) {                              eduPersonAssurance.getValues().add("http://www.swamid.se/policy/assurance/al1");                         }                         else if (memberOf.getValues().get(i).equals("SWAMID-AL2")) {                              eduPersonAssurance.getValues().add("http://www.swamid.se/policy/assurance/al1");                              eduPersonAssurance.getValues().add("http://www.swamid.se/policy/assurance/al2");                         }                    }               }          ]]>     </Script></resolver:AttributeDefinition>

 

http://www.swamid.se/policy/assurance/al2