...
Dokument från UHR som beskriver rollhantering i NyA:
Förutsättningar
- Lärosätet har en Identity Provider uppsatt som är medlem i SWAMID (Om frågor - kontakta operations snabel-a SWAMID.SE.
- Attribut skickas till Service Providers i Swamid enligt avsnittet attribute-filter.xml på wikisidan Konfigurera metadata för att använda SWAMID. Särskilt att tänka på är att attributen
eduPersonPrincipalName
(EPPN) ochcommonName
(CN) ska överföras till NyA-webben tillsammans med rollerna. - UHR SP för NyA-webben är medlem i SWAMID med (namnet) https://www.antagning.se/ecs-sp och testsystemen är medlemmar i testfederationen med namnen https://www.antagning.testa.antagning.se/ecs-sp och https://www.antagning.testb.antagning.se/ecs-sp.
...
- När detta skrivs finns tre roller basanvändare, institutionsanvändare - utdata och institutionsanvändare - bedömning.
- Basanvändare (titta på info, meriter, anmälningar och dokument för sökande) är inte kopplad till institution:
- I LDAP finns attributet swamiGmaiAssertion med värdet "urn:mace:swami.se:gmai:NyA:base".
- Till NyA-webben skickas attributet eduPersonEntitlement med värdet "urn:mace:swami.se:gmai:nya-dw:base:o=YY".
- Institutionsanvändare – Utdata (skapa listor och statistik) är kopplad till institution:
- I LDAP finns attributet swamiGmaiAssertion med värdet "urn:mace:swami.se:gmai:NyA:department:ladokInstitutionskod=ZZZZ".
- Till NyA-webben skickas attributet eduPersonEntitlement med värdet "urn:mace:swami.se:gmai:nya-dw:department:o=YY:norEduOrgUnitUniqueNumber=ZZZZ".
- Institutionsanvändare – Bedömning (registrera och titta på värden för alternativa meriter) är kopplad till institution:
- I LDAP finns attributet swamiGmaiAssertion med värdet "urn:mace:swami.se:gmai:NyA:department_assessment:ladokInstitutionskod=ZZZZ".
- Till NyA-webben skickas attributet eduPersonEntitlement med värdet "urn:mace:swami.se:gmai:nya-dw:department_assessment:o=YY:norEduOrgUnitUniqueNumber=ZZZZ".
- YY är lärosätes kod i NyA, t.ex. UU.
- ZZZZ är en institutionskod, t.ex. 4010, som användaren har rätt att företräda för aktuell roll i NyA-webben.
- LDAP-attribut för gruppmedlemskapet är memberOf med gruppnamnet som värde.
Code Block |
---|
<resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="NyAwebbenEntitlement" >
<resolver:Dependency ref="swamiGmaiAssertion" />
<resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:mace:dir:attribute-def:eduPersonEntitlement" />
<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.7" friendlyName="eduPersonEntitlement" />
<Script>
<![CDATA[
importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);
NyAwebbenEntitlement = new BasicAttribute("NyAwebbenEntitlement");
if (swamiGmaiAssertion) {
for (i=0; i < swamiGmaiAssertion.getValues().size(); i++) {
if (swamiGmaiAssertion.getValues().get(i).search("urn:mace:swami.se:gmai:NyA:") != -1) {
if (swamiGmaiAssertion.getValues().get(i).search(":ladokInstitutionskod=") != -1) {
NyAwebbenEntitlement.getValues().add(swamiGmaiAssertion.getValues().get(i).replace(":NyA:", ":nya-dw:").replace(":ladokInstitutionskod=", ":o=YY:norEduOrgUnitUniqueNumber="));
}
else {
NyAwebbenEntitlement.getValues().add(swamiGmaiAssertion.getValues().get(i).replace(":NyA:", ":nya-dw:") + ":o=YY");
}
}
}
}
]]>
</Script>
</resolver:AttributeDefinition>
|
...
- 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="NyAwebbenEntitlement" >
<resolver:Dependency ref="memberOf" />
<resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:mace:dir:attribute-def:eduPersonEntitlement" />
<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.7" friendlyName="eduPersonEntitlement" />
<Script>
<![CDATA[
importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);
// Definiera lärosäteskod i NyA
larosatekod = new String("YY");
// Definiera grupp för basanvändare
baseGroup = new String("NyA-webben-Base");
// Definiera grupprefix för de olika rollerna
deparmentGroupPrefix = new String("NyA-webben-Department-");
deparmentAssessmentGroupPrefix = new String("NyA-webben-DepartmentAssessment-");
NyAwebbenEntitlement = new BasicAttribute("NyAwebbenEntitlement");
if (memberOf) {
for (i=0; i < memberOf.getValues().size(); i++) {
// Basanvändare ej begränsad till enskild institution
if (memberOf.getValues().get(i).equals(baseGroup)) {
NyAwebbenEntitlement.getValues().add("urn:mace:swami.se:gmai:nya-dw:base:o=" + larosatekod);
}
// Institutionsanvändare - utdata begränsat till enskild institution via gruppnamnet
else if (deparmentGroupPrefix.equals(memberOf.getValues().get(i).substring(0,deparmentGroupPrefix.length()-1))) {
NyAwebbenEntitlement.getValues().add("urn:mace:swami.se:gmai:nya-dw:department:o=" + larosatekod + ":norEduOrgUnitUniqueNumber=" + memberOf.getValues().get(i).substring(deparmentGroupPrefix.length(),memberOf.getValues().get(i).length()));
}
// Institutionsanvändare - bedömning begränsat till enskild institution via gruppnamnet
else if (deparmentAssessmentGroupPrefix.equals(memberOf.getValues().get(i).substring(0,deparmentAssessmentGroupPrefix.length()-1))) {
NyAwebbenEntitlement.getValues().add("urn:mace:swami.se:gmai:nya-dw:department_assessment:o=" + larosatekod + ":norEduOrgUnitUniqueNumber=" + memberOf.getValues().get(i).substring(deparmentAssessmentGroupPrefix.length(),memberOf.getValues().get(i).length()));
}
}
}
]]>
</Script>
</resolver:AttributeDefinition>
|
Modifiera filen attribute-filter.xml enligt:
Code Block |
---|
<AttributeFilterPolicy id="releaseNyAwebbenEntitlement">
<PolicyRequirementRule xsi:type="basic:OR">
<basic:Rule xsi:type="basic:AttributeRequesterString" value="https://expert.antagning.se/ecs-sp" />
<basic:Rule xsi:type="basic:AttributeRequesterString" value="https://expert.testa.antagning.se/ecs-sp" />
<basic:Rule xsi:type="basic:AttributeRequesterString" value="https://expert.testb.antagning.se/ecs-sp" />
<basic:Rule xsi:type="basic:AttributeRequesterString" value="https://sp.swamid.se/shibboleth" />
</PolicyRequirementRule>
<AttributeRule attributeID="NyAwebbenEntitlement">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
</AttributeFilterPolicy>
|