...
Code Block |
---|
<resolver:AttributeDefinition xsi:type="SimpleScript" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="memberOfNyAwebbenEntitlement" dependencyOnly="true"> <resolver:Dependency ref="myLDAP" /> </resolver:AttributeDefinition> <resolver:AttributeDefinitionAttributeEncoder xsi:type="ScriptSAML1String" xmlnsname="urn:mace:shibboleth:2.0:resolver:ad" id="NyAwebbenEntitlement" > dir:attribute-def:eduPersonEntitlement" /> <resolver:Dependency ref="memberOf" /> <resolver:AttributeEncoder xsi:type="SAML1StringSAML2String" xmlnsname="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:mace:dir:attribute-def:eduPersonEntitlementoid:1.3.6.1.4.1.5923.1.1.1.7" friendlyName="eduPersonEntitlement" /> <Script> <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" /> <![CDATA[ <Script> // Definiera lärosäteskod i <![CDATA[ NyA larosatekod = importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider); new String("YY"); // Definiera lärosäteskodgrupp iför NyAbasanvändare larosatekodbaseGroup = new String("YYNyA-webben-Base"); // Definiera gruppgrupprefix för de olika basanvändarerollerna baseGroupdeparmentGroupPrefix = new String("NyA-webben-Department-Base"); //deparmentAssessmentGroupPrefix Definiera= grupprefix för de olika rollerna new String("NyA-webben-DepartmentAssessment-"); deparmentGroupPrefixdeparmentLateAdmissionGroupPrefix = new String("NyA-webben-DepartmentDepartmentLateAdmission-"); deparmentAssessmentGroupPrefixdeparmentReserveAdmissionGroupPrefix = new String("NyA-webben-DepartmentAssessmentDepartmentReserveAdmission-"); 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())); } } // Institutionsanvändare - sen antagning begränsat till enskild institution via }gruppnamnet ]]> </Script> </resolver:AttributeDefinition> |
Modifiera filen attribute-filter.xml enligt:
Code Block |
---|
<AttributeFilterPolicy id="releaseNyAwebbenEntitlement"> <PolicyRequirementRule xsi:type="basic:OR"> else <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" /> if (deparmentLateAdmissionGroupPrefix.equals(memberOf.getValues().get(i).substring(0,deparmentLateAdmissionGroupPrefix.length()-1))) { NyAwebbenEntitlement.getValues().add("urn:mace:swami.se:gmai:nya-dw:department_late_admission:o=" + larosatekod + ":norEduOrgUnitUniqueNumber=" + memberOf.getValues().get(i).substring(deparmentLateAdmissionGroupPrefix.length(),memberOf.getValues().get(i).length())); } // Institutionsanvändare - reservantagning begränsat till enskild institution via gruppnamnet else if (deparmentReserveAdmissionGroupPrefix.equals(memberOf.getValues().get(i).substring(0,deparmentReserveAdmissionGroupPrefix.length()-1))) { NyAwebbenEntitlement.getValues().add("urn:mace:swami.se:gmai:nya-dw:department_reserve_admission:o=" + larosatekod + ":norEduOrgUnitUniqueNumber=" + memberOf.getValues().get(i).substring(deparmentReserveAdmissionGroupPrefix.length(),memberOf.getValues().get(i).length())); <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>Script> </AttributeFilterPolicy> resolver:AttributeDefinition> |
Modifiera filen attribute-filter.xml enligt:
I Example of a standard attribute filter for Shibboleth IdP finns användningen filter NyA-webben definierad men bortkommenterad.