NeptunLdapSync

Innen: KIFÜ Wiki

Az NIIF Intézet által fejlesztett szinkronizációs folyamat alkalmas arra, hogy Neptunban tárolt felhasználók (hallgatók, oktatók, dolgozók) adatait egy névtárba szinkronizálja. Természetesen lehetséges a névtárat más forrásokból is módosítani (pl. a dolgozói adatok sokhelyütt nem a Neptunban tárolódnak), ezzel a szinkronizációs program nem foglalkozik.

Az NIIF Intézet referencia implementációjának leírása itt található

Feltételezések

  • A Neptun tartalmazza az SDA által kifejlesztett szinkronizációs webservice-t (ezt jelen pillanatban az SDA-tól kérni kell)
  • A Neptun ezen kívül biztosít egy olyan webservice-t is, amely ellenőrizni tud egy neptunkódhoz tartozó jelszót (információink szerint ilyet néhány helyen biztosít az SDA)
  • Létezik egy vagy több - az intézmény által fejlesztett vagy üzembe állított - webes adminisztrációs alkalmazás, ahol a felhasználók a Neptun jelszavuk birtokában tudnak maguk számára
    • LDAP jelszót generálni (a neptunos jelszó nem szinkronizálódik az LDAP-ba)
    • LDAP jelszót megváltoztatni
    • LDAP azonosítót generálni (opcionális, az intézmény algoritmikusan generált azonosítókat is alkalmazhat)
    • további LDAP attribútumokat generáltatni (pl. levelezéshez, Unix bejelentkezéshez stb.)

Felhasználó életciklusa

  1. Neptun felhasználói bejegyzés létrehozása (részletek nélkül)
  2. Felhasználói adatok szinkronizálása az LDAP-ba
  3. LDAP jelszó aktiválása
  4. Neptun adatok változásának szinkronizációja
    • személyi adatok
    • státusz adatok
    • szervezeti kapcsolódás adatai
    • oktatási adatok
  5. (opcionális) POSIX attribútumok generálása
  6. (opcionális) Elfelejtett LDAP jelszó újragenerálása Neptun autentikáció után
  7. Neptun státusz adatok alapján passzív / kilépett státuszba helyezés
  8. LDAP bejegyzés törlése

Részletek

Attribútum mapping

Azonosító adatok

Attribútum LDAP Attribútum Megjegyzés
Neptun kód niifPersonOrgID


Személyi adatok

Attribútum LDAP Attribútum Megjegyzés
Vezetéknév sn
Keresztnév givenName
Teljes név cn
Titulus title pl. Dr.
Telefonszám telephoneNumber, mobile, fax A mobiltelefonszámot érdemes külön LDAP attribútumban tárolni a többi telefonszámtól. Speciális konverziós logika szükséges lehet (például az elválasztó karakterek törlése).
E-mail cím mail

Státusz adatok

Attribútum LDAP Attribútum Megjegyzés
Hallgatói státusz eduPersonAffiliation={'student', 'member'} Ha van hozzá olyan képzés, aminek hallgatója
Oktatói státusz eduPersonAffiliation={'faculty', 'member'} Ha az elmúlt N évben volt kurzushoz kapcsolódása
Alkalmazotti státusz eduPersonAffiliation={'employee', 'staff', 'member'} Ha alkalmazott

Metaadatok

Attribútum LDAP Attribútum Megjegyzés
Bejegyzés archiválásának időpontja schacExpiryDate Azon időpont, amikor a bejegyzést az aktív felhasználók közül el kell távolítani, ezután semmilyen szolgáltatáshoz nem férhet hozzá
Egyéb státuszok schacUserStatus Pl. az intézményhez fűződő viszonya (meddig tart), bizonyos szolgáltatásokat meddig érhet el, stb

Szervezeti kapcsolódások

Attribútum LDAP Attribútum Megjegyzés
Kar niifEduPersonFaculty(DN) Képzés kar szabadszöveges megnevezése (kódja) - csak hallgatóknál
Szak niifEduPersonMajor Képzés szak szabadszöveges megnevezése - csak hallgatóknál
Egyéb szervezeti egység eduPersonOrgUnitDN Pl tanszék, intézet, kollégium

Oktatási adatok

Attribútum LDAP Attribútum Megjegyzés
Aktívan oktatott tárgyak listája niifEduPersonHeldCourse Azon tárgykódok listája, melynek az elmúlt 1 évben indult olyan kurzusa, amit az adott oktató tartott
Tárgyfelelős eduPersonEntitlement? Azon tárgykódok listája, melynek az oktató jelenleg tárgyfelelőse
Aktuális félévben hallgatott tárgyak listája niifEduPersonAttendedCourse
Valaha hallgatott tárgyak listája niifEduPersonArchiveCourse Aktuális félév tárgyai is

Jelszó beállító felület

Törlési folyamat

Státusz

Szinkronizáció

A Neptun és az LDAP közötti szinkronizációt az LDAP oldali szinkronizáló szkript indítja.

Neptun interfészek

A szinkronizálás a Neptun által biztosított XML Webszolgáltatáson keresztül valósul meg. A legtöbb művelet két paramétert fogad: időbélyeg illetve Neptun lista - mindkettő opcionális. Amennyiben az időbélyeg szerepel, csak a megadott időpont óta módosult rekordok kerülnek át. A Neptun lista megadása az adott bejegyzésekre szűkíti az eredményt.

Fontos, hogy pl. a személyi adatoknál az időbélyeg a Neptun-ban a teljes rekordra értelmezett, tehát nem csak a szinkronizálni kívánt adatok triggerelik a változását.

  • Szervezeti struktúra
    • paraméterek: nincs
    • visszatérés: szervezeti egységek fastruktúrája (egységenként: kód, szerv. egység neve, típusa)
    • ritka szinkronizálás (félévente)
  • Neptun kódok és státuszok
    • paraméterek: opc. időbélyeg, opc. Neptun lista
    • visszatérés: Neptun kód, hallgatói státusz, oktatói státusz, alkalmazotti státusz
    • gyakori szinkronizálás (legalább naponta)
  • Személyi adatok
    • paraméterek: opc. időbélyeg, opc. Neptun lista
    • visszatérés: Neptun kódhoz tartozó személyi adatok
    • gyakori szinkronizálás (naponta)
  • Szervezeti kapcsolódás
    • paraméterek: opc. időbélyeg, opc. Neptun lista
    • visszatérés: Neptun kódhoz tartozó szervezeti egységek kódja
    • ritka szinkronizálás (félévente)
  • Oktatási adatok
    • paraméterek: Neptun lista
    • visszatérés: minden megadott neptun kódhoz az összes oktatási adat (nem csak a változások)
    • ritka szinkronizálás (szorgalmi időszakban hetente, tárgyjelentkezési időszak kezdetétől regisztrációs hét végéig nincs szinkronizálás)

Implementációk