Ladok på LU

Om Ladok på Lunds universitet

Diverse – teknik

Skript som söker ut obekräftade användare i MIT och mailar till den som sköter behörigheter

I och med att MIT-miljön i dagsläget inte stödjer att maila till den som sköter behörigheterna på lärosätena när behörighet beställs, samt att man genom REST-tjänsterna kan hämta detta, så har jag skrivit ihop ett litet program/skript som söker ut detta och mailar till valfri person. Bakgrund till detta kan läsas i JIRA.

Tanken är att skriptet körs regelbundet på en server via cron. Skriptet är skrivet i PHP, och behöver även libcurl installerat (vilket är normalfallet på de flesta moderna Linux-system).

Programmet finns att ladda ner.

Förutom PHP och libcurl så krävs att lärosätet som vill köra skriptet har laddat upp ett certifikat till MIT-miljön. Läs om certifikatuppladdning. När certifikatet är installerat måste man också koppla på behörighetskategorin “Kataloginformation” till certifikatanvändaren (som troligtvis har aktuell högskolekod som användarid).

När detta är fixat så gör man grundläggande inställningar överst i skriptet. När det är klart är bara att provköra, och sedan när det det fungerar, lägga in skriptet i cron så att det görs kontroller med önskat tidsintervall.

Tips:
I och med att det inte går att ta bort användare som loggat in en gång, så kan man istället för att ta bort alla behörigheter (och sålunda få mail om det varje gång skriptet körs) lägga till valfri behörighet, och sedan sätta den som (bekräftad) inaktiv. På så sätt får användaren ingen behörighet, men du som är mottagare till mailen från skriptet slipper få mail i onödan.

6 comments

  1. Ulla Westin

  2. karim

    Nu är skriptet anpassat till MIT7 och zip-filen är uppdaterad med det nya skriptet.

    Notera att skriptet tar längre tid att köra nu (framför allt om det finns många användare), i och med att varje användare måste få ett eget REST-anrop, till skillnad från tidigare då det räckte med ett enda.

  3. karim

    Sedan MIT7 fungerar inte längre funktionen pga att REST-tjänsten som hämtar användare är ändrad.

    Jag kommer när jag har tid att uppdatera skriptet och ladda upp den nya versionen.

  4. karim

    I MIT5 (som installerades 15/9-2014) har de ändrat acceptabla http-typ, så man måste ändra raden med CURLOPT_HTTPHEADER till:

    curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Accept: application/vnd.ladok-kataloginformation+json’));

  5. karim

    I både MIT3 och MIT4 fungerar det precis utan ytterligare åtgärder från ändringen i och med MIT2.

  6. karim

    I och med MIT version 2 (lev 2013-09-30) måste man ändra på ett av namnen i “behörighets-arrayen”.

    FRÅN: foreach($anv->Uppdrag as $uppdrag) {
    TILL: foreach($anv->Anvandarbehorighet as $uppdrag) {

    resp

    FRÅN: if($KOLLA_ANV_UTAN_UPPDRAG and empty($anv->Uppdrag)) {
    TILL: if($KOLLA_ANV_UTAN_UPPDRAG and empty($anv->Anvandarbehorighet)) {

Kommentarsfältet är stängt.