...
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:
- Användare som endast är godkända för SWAMID AL1 har i LDAP eduPersonAssurance med värdet http://www.swamid.se/policy/assurance/al1.
- Användare som är godkända för SWAMID AL2 har i LDAP eduPersonAssurance med värdet http://www.swamid.se/policy/assurance/al2.
- Användare som inte är godkända för varken SWAMID AL1 eller SWAMID AL2 har inte dessa markeringar i LDAP.
Code Block | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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