Notera att Skolons AD-synkmodul har passerat end-of-life och uppdateras inte längre. Vi rekommenderar alla kunder som har en AD-synk installerad att ta kontakt med oss för att ersätta med en synktyp som uppdateras löpande.
Om artikeln
I denna artikeln kan du läsa om vilka inställningar du kan göra i AD_sync.config för att synken ska kunna läsa från ert AD.
Allmänt
För att modulen ska kunna autentisera sig mot ert AD behöver den användarnamn och lösenord för en användare med läsrättigheter. Den behöver också nycklar för att autentisera sig mot Skolons API.
Parameter | Beskrivning |
<AD_Username>
| Användarnamnet på den användare som har läsrättigheter i AD:t. Exempel:<add key="AD_Username" value="username"/> |
<AD_Password>
| Lösenordet för den användare som har läsrättigheter i AD:t. Exempel:<add key="AD_Password" value="password"/> |
<SkolonClientId>
| Klientnyckel för autentisering mot Skolons API. Denna nyckel fås från Skolon. Exempel:<add key="SkolonClientId" value="abcde01234" /> |
<SkolonClientSecret>
| Klientlösenord för autentisering mot Skolons API. Detta lösenord fås från Skolon. Exempel:<add key="SkolonClientSecret" value="fghijk678910" /> |
<AD_Domain>
| Domän för AD. Exempel:<add key="AD_Domain" value="skolon"/> |
<AD_TopDomain>
| Toppdomän för AD. Exempel:<add key="AD_TopDomain" value="se"/> |
<AD_DirectoryEntryString>
| Ange AD-server som kommer anropas. Exempel: <add key="AD_DirectoryEntryString" value="LDAP://ad.skolon.se/"/> |
<LogFolderPath>
| Ange var loggfilerna ska sparas. Exempel:<add key="LogFolderPath" value="C:\Skolon-synk\log"/> |
<LogFileNamePrefix>
| Anger det prefix som används för loggfilerna. Exempel:<add key="LogFileNamePrefix" value="Skolon"/> |
<LogFileAge>
| Anger tid, i månader, innan loggfiler rensas. Exempel:<add key="LogFileAge" value="1"/> |
<SkolonADSyncDatabase_ ConnString>
| FÖRÅLDRAT - Används ej i nyare versioner Anger anslutningssträng till synkens Accessdatabas Exempel: <add key="SkolonADSyncDatabase_ConnString" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Skolon\SkolonADSync\SkolonSyncDB\SkolonSync.accdb;Jet OLEDB:Database Password=sk0l0n;"/> |
<SkolonADSyncDatabase_ MaxSyncPerDay>
| Gräns för hur många gånger synkmodulen får köras per dag. Exempel: <add key="SkolonADSyncDatabase_MaxSyncPerDay" value="5"/> |
<SchoolId_Type>
| Typ av id för skolorna. Tillåtna värden är SchoolId och SchoolUnitCode. Exempel: <add key="SchoolId_Type" value="SchoolUnitCode"/> |
Grupper
AD-grupper
Samtliga parametrar i nedanstående tabell finns i 5 varianter för att hitta grupper för upp till 5 olika skolor. Öka siffran till 2,3,4 respektive 5 för att ange dessa.
Parameter | Beskrivning |
<AD_OU_Groups_1>
| Sökväg till det OU där grupperna för en skola finns. Exempel: <add key="AD_OU_Groups_1" value="OU=Groups,OU=InDoc,DC=ad,DC=skolon,DC=se"/> |
<AD_OU_Groups_1_SchoolID>
| ID på den skola som grupperna i AD_OU_Groups_1 tillhör. Exempel: <add key="AD_OU_Groups_1_SchoolID" value="Demoskolan"/> |
<AD_OU_Groups_1_SchoolAndGroup_Filter>
| Filter för att hitta undervisningsgrupperna i AD_OU_Groups_1. Exempel: <add key="AD_OU_Groups_1_SchoolAndGroup_Filter" value="(groupType=teachingGroup)"/> |
<AD_OU_Groups_1_SchoolAndClass_Filter>
| Filter för att hitta klasserna i AD_OU_Groups_1 . Exempel: <add key="AD_OU_Groups_1_SchoolAndClass_Filter" value="(groupType=class)"/> |
<AD_OU_TeachingGroups_1_RegexFind>
| Reguljärt uttryck som kan användas för att hitta den del av namnet på en undervisningsgrupp man vill ha. Lämnas tomt om inga ändringar önskas. Exempel: <add key="AD_OU_TeachingGroups_1_RegexFind" value="^([^\-])*"/> Om gruppnamnet är “7A Matematik-2018/2019” så returnerar ovanstående uttryck “7A Matematik”. Observera att detta bara gäller om ersättningssträngen nedan är tom. |
<AD_OU_TeachingGroups_1_RegexReplace>
| Ersättningssträng för det reguljära uttrycket. Detta fält kan lämnas tomt om endast resultatet av det reguljära uttrycket ska användas som namn. Exempel: <add key="AD_OU_TeachingGroups_1_RegexReplace" value="$0-Skolon"/> Om gruppnamnet är “7A Matematik-2018/2019” och det reguljära uttrycket = “^([^\-])*” så kommer namnet bli “7A Matematik-Skolon“ med denna ersättningssträng. |
<AD_OU_Classes_1_RegexFind>
| Reguljärt uttryck som kan användas för att hitta den del av namnet på en klass man vill ha. Se reguljärt uttryck för grupper för exempel och detaljer. Lämnas tomt om inga ändringar önskas. |
<AD_OU_Classes_1_RegexReplace>
| Ersättningssträng för det reguljära uttrycket. Detta fält kan lämnas tomt om endast resultatet av det reguljära uttrycket ska användas som namn. Se ersättningssträng för grupper för exempel och detaljer. |
<AD_OU_Groups_2>
| Exempel på parameter för en andra skola, kan upprepas till och med _5 och för samtliga parametrar i denna tabell. |
Grupper på användarobjektet
Om AD_OU_Groups_{1-5}_SchoolID är tomt så kommer synkmodulen leta efter grupper direkt på användarobjektet. Man kan antingen använda SIS_STUDENTGROUP eller custom attribut.
SIS_STUDENTGROUP avser sisSchoolCourseStudent och sisSchoolCourseTeacher i Skolfederations dokumentation
Parameter | Beskrivning |
<AD_USER_USE_SIS_STUDENTGROUP>
| Anger på vilket sätt grupperna ligger på användaren, giltiga värden är 0 och 1. 1 betyder att SIS-grupper används och 0 betyder att grupperna ligger lagrade på annat sätt. |
<AD_USER_StudentGroup_Student_Attribute_Name>
| Anger det attribut på eleverna där grupperna ligger. Används endast om AD_USER_USE_SIS_STUDENTGROUP=1 |
<AD_USER_StudentGroup_Teacher_Attribute_Name>
| Anger det attribut på lärarna där grupperna ligger. Används endast om AD_USER_USE_SIS_STUDENTGROUP=1 |
<AD_USER_StudentClassIdFilter_Attribute_Name>
| Anger det attribut på eleverna där klasserna ligger. Används endast om AD_USER_USE_SIS_STUDENTGROUP=1 |
<AD_USER_StudentClassIdFilter_Attribute_StringSplitter>
| Anger det tecken som används för att separera klasserna i AD_USER_StudentClassIdFilter_Attribute_Name. Används endast om AD_USER_USE_SIS_STUDENTGROUP=1 |
<AD_USER_SchoolId_ClassId_Attribute_Name>
| Anger det attribut där klasserna ligger på användaren. Används endast om AD_USER_USE_SIS_STUDENTGROUP=0 |
<AD_USER_SchoolId_ClassId_Attribute_StringSplitter>
| Anger det tecken som används för att separera klasserna. Exempel: <add key="AD_USER_SchoolId_ClassId_Attribute_StringSplitter" value=","/> Om strängen med klasser innehåller “Demoskolan1-klass1,Demoskolan2-klass2” så kommer värdet “,” splitta detta till två klasser: Demoskolan1-klass1 och Demoskolan2-klass2. Används endast om AD_USER_USE_SIS_STUDENTGROUP=0 |
<AD_USER_SchoolId_ClassId_Attribute_InnerStringSplitter>
| Anger det tecken som används för att separera skolId och klassId. Exempel: <add key="AD_USER_SchoolId_ClassId_Attribute_InnerStringSplitter" value="-"/> Om strängen med klasser innehåller “Demoskolan1-klass1,Demoskolan2-klass2” så kommer värdet “-” splitta respektive klass till: SkolId: Demoskolan1, KlassId: klass1 SkolId: Demoskolan2, KlassId: klass2 Används endast om AD_USER_USE_SIS_STUDENTGROUP=0 |
<AD_USER_SchoolId_GroupId_Attribute_Name>
| Anger det attribut där undervisningsgrupperna ligger på användaren. Används endast om AD_USER_USE_SIS_STUDENTGROUP=0 |
<AD_USER_SchoolId_GroupId_Attribute_StringSplitter>
| Anger det tecken som används för att separera undervisningsgrupperna. Se AD_USER_SchoolId_ClassId_Attribute_StringSplitter för info. Används endast om AD_USER_USE_SIS_STUDENTGROUP=0 |
<AD_USER_SchoolId_GroupId_Attribute_InnerStringSplitter>
| Anger det tecken som används för att separera skolId och gruppId. Se AD_USER_SchoolId_ClassId_Attribute_InnerStringSplitter för info. Används endast om AD_USER_USE_SIS_STUDENTGROUP=0 |
Användare
Hitta användare
Ange upp till 5 OU för elever och 5 OU för lärare. Har man fler OU så behöver man köra modulen flera gånger med olika config-filer.
Vid behov kan filter läggas till för att välja ut delar av användarna i respektive OU.
Samtliga parametrar i nedanstående tabell finns i 5 varianter. Öka siffran till 2,3,4 respektive 5 för att ange dessa.
Parameter | Beskrivning |
<AD_OU_Students_1>
| Det OU där eleverna finns. Exempel: <add key="AD_OU_Students_1" value="OU=Users,OU=DEMOSKOLAN,OU=Skola,DC=karlshamn,DC=se"/> |
<AD_OU_Teachers_1>
| Det OU där lärarna finns. Exempel: <add key="AD_OU_Teachers_1" value="OU=Users,OU=DEMOSKOLAN,OU=Skola,DC=karlshamn,DC=se"/> |
<AD_OU_Students_1_Filter>
| Filter att använda för att filtrera ut eleverna i elev-OU:t. Om det bara finns elever i OU:t så kan detta filter lämnas tomt. Exempel: <add key="AD_OU_Students_1_Filter" value="userType=Student"/> |
<AD_OU_Teachers_1_Filter>
| Filter att använda för att filtrera ut lärare i lärar-OU:t. Om det bara finns lärare i OU:t så kan detta filter lämnas tomt. Exempel: <add key="AD_OU_Teachers_1_Filter" value="userType=Teacher"/> |
<AD_OU_Students_2>
| Exempel på parameter för ett andra OU, kan upprepas till och med _5 och för samtliga parametrar i denna tabell. |
Identifiera Skola
För att identifiera skola kan antingen SchoolUnitCode eller SchoolID användas.
Man måste också ange vilket attribut som ska användas för att identifiera skolan. Observera att key beror på om man använder SchoolUnitCode eller SchoolID. Om man använder SchoolId måste också en stringsplitter anges.
Parameter | Beskrivning |
<AD_USER_USE_SIS_SCHOOLUNITCODE>
| Avgör om skolverkets sisSchoolUnitCode ska användas. För referens se: https://www.skolfederation.se/wordpress/wp-content/uploads/2016/06/Skolfederation_Attributprofil_4_0.pdf 1= Använd sisSchoolUnitCode 0= Använd AD_USER_SchoolId_Attribute_Name |
<AD_USER_SchoolUnitCode_Attribute_Name>
| Anger det attribut där sisSchoolUnitCode finns. Används endast om <AD_USER_USE_SIS_SCHOOLUNITCODE> = 1. |
<AD_USER_SchoolId_Attribute_Name>
| Anger vilket attribut som innehåller de skolor som användaren tillhör. Används endast om <AD_USER_USE_SIS_SCHOOLUNITCODE> = 0. |
<AD_USER_SchoolId_Attribute_StringSplitter>
| Anger vilken separerare som används i <AD_USER_SchoolId_Attribute_Name>. Exempel: <add key="AD_USER_SchoolId_Attribute_StringSplitter" value=","/> Används endast om <AD_USER_USE_SIS_SCHOOLUNITCODE> = 0. |
Användartyp
Föråldrat - Använd AD_OU_Students_5_Filter och AD_OU_Teachers_5_Filter istället.
Om lärare och elever ligger i samma OU kan man ställa in vilka attribut som ska användas för att avgöra om en användare är elev eller lärare.
Parameter | Beskrivning |
<AD_USER_UserType_ Teacher_Attribute_Name>
| FÖRÅLDRAT - Använd AD_OU_Teachers_5_Filter istället. Anger vilket attribut på användaren som avgör om den är en lärare. Behöver bara användas om lärare och elever ligger i samma OU. |
<AD_USER_UserType_ Teacher_Attribute_Value>
| FÖRÅLDRAT - Använd AD_OU_Teachers_5_Filter istället. Anger vilket värde AD_USER_UserType_Teacher_Attribute_Name ska ha för att användaren ska räknas som lärare. Behöver bara användas om lärare och elever ligger i samma OU. |
<AD_USER_ UserType_Student_Attribute_ Name> | FÖRÅLDRAT - Använd AD_OU_Students_5_Filter istället. Anger vilket attribut på användaren som avgör om den är en elev. Behöver bara användas om lärare och elever ligger i samma OU. |
<AD_USER_UserType_ Student_Attribute_Value>
| FÖRÅLDRAT - Använd AD_OU_Students_5_Filter istället. Anger vilket värde AD_USER_UserType_Student_Attribute_Name ska ha för att användaren ska räknas som elev. Behöver bara användas om lärare och elever ligger i samma OU. |
Användarattribut
För ett antal attribut i Skolon går det att ställa in vilka attribut i AD:t som ska användas.
Parameter | Beskrivning |
<AD_USER_UserName_Attribute_Name>
| Styr vilket användarnamn användaren får i Skolon Example value: “email” “userPrincipalName” eller "username" |
<AD_USER_Grade_Attribute_Name>
| Anger vilken årskurs användaren går Example value: "extensionAttribute5” |
<AD_USER_Email_Attribute_Students_Name>
| Anger eposten för Elever Example value: “mail” |
<AD_USER_Email_Attribute_Teachers_Name>
| Anger eposten för Lärare Example value: “mail” |
<AD_USER_idpId_Attribute_Name>
| Anger vilket idp_attribut användaren ska få i Skolon Example value: “username” |