420 likes | 566 Views
Automatisierte Benutzerverwaltung. Diplomarbeit HTL-Wels 2006/2007 Etzlstorfer Andreas Roland Kretschmer. Agenda. Teil 1 Ziele Anwendungsfall Teil 2 Ablauf Technologien Konfiguration Teil 3 Codebeispiele. Ziele. Massenimport von Schülerlogins Logineinstellungen
E N D
Automatisierte Benutzerverwaltung Diplomarbeit HTL-Wels 2006/2007 Etzlstorfer Andreas Roland Kretschmer
Agenda • Teil 1 • Ziele • Anwendungsfall • Teil 2 • Ablauf • Technologien • Konfiguration • Teil 3 • Codebeispiele
Ziele • Massenimport von Schülerlogins • Logineinstellungen • Gruppenzugehörigkeiten • Platzbeschränkungen • Homeverzeichnisse (+Filerechte) • Unixattribute • Loginskript
Importdaten • CSV Datei aus SAS-II • Schulverwaltungsprogramm St. Pölten • Schema der CSV Datei einstellbar • auch andere Schulverwaltungsprogramme möglich • Konfigurationsfile • einfache Textdatei • Profile • XML Datei
Verwendete Technologien • Programmiersprache Java • GUI durch SWING • Bibliotheken • LDAP-Zugriffe: JLDAP (v.2.16) • Novellzugriffe: NJCL (v.2.0) • Konfiguration: JDOM (v.1.0) • Logging: LOG4J (v.1.2.14)
Verwendete Programme • Programmierung • Eclipse • CVS-Server • Umgebung • Console One • JXplorer • VM-Ware • Server • Novell Netware 6.5 (SP3)
Menü Toolbar Registerkarten Konsole Ansicht GUI
Anwendungsfall I • Schritt 1: Datei öffnen
Anwendungsfall II • Schritt 2: CSV-Daten in Logins umwandeln Generierungsmuster vorkonfigurierte Muster Passwortlänge
Anwendungsfall III • Schritt 3: Logins exportieren CSV Datei
Anwendungsfall IV 1: Popupmenü 2: Panel • Schritt 4: Profil zuordnen 2 1
Schritt 5: Datenbestand vergleichen Anwendungsfall V • Schritt 5a: Aktionen wählen gefilterte Einträge weglassen…
Anwendungsfall VI • Schritt 6: Vergleichsdaten ausführen
Resultat II Filerechte
Teil 2 • Ablauf • Technologien • Konfiguration
Anpassung über Muster • aus Spalten -> Zeichenketten generieren • besitzt Syntax, Zugriff:
Beispiel für Muster Daten
Einstellungen im Profil • Sprache • Gruppenzuweisungen • Speicherplatzbeschränkungen • Homeverzeichnis (NDS und Linux) • Verzeichnisrechte • Startskript
Konfiguration • csv2ldap.conf allg. Konfiguration • filter.conf Filtereinstellungen • log4jproperties Einstellungen für das Logging
Beispiel filter.conf • ungewünschte Einträge ignorieren • Problem an Schule: • Schüler die noch nicht aufsteigen können… • erst teilweise implementiert • Einstellung im Konfigurationsfile
CodebeispielPosix Account Posix Account muss mit „modify“ hinzugefügt werden!
HOM_H1 testuser.htl 100 cn=testuser,o=htl testuser.htl CodebeispielSpacerestriction Aufruf: addRestriction("cn=testuser,o=htl", "HOM_H1", 100);
CodebeispielGruppenzugehörigkeit zwei Zugriffe: Benutzer Gruppe Gruppe Benutzer
HomeverzeichnisseProblembeschreibung • ca. 21 - 42 Zugriffe
HomeverzeichnisseLösung • Ablegen der Struktur in hierarchischer Datenform • rekursives Abarbeiten der Struktur • erspart Zugriffe und somit Zeit
CodebeispielHomeverzeichnis erstellen II • hole das Volume Nr: 1…n • hole erstes Verzeichnis des Volumes • erstelle Verzeichnis • hat Verzeichnis Kinder? • ja: erstelle Kinder • nein: fertig • hole nächstes • …
über JNDI wird das Verzeichnis erstellt… Informationen setzen CodebeispielHomeverzeichnis erstellen III Aufruf: erstelleVerzeichnis(“02“, altercontext);
Zusammenfassung • Massenimport aus CSV-Datei • Flexible Einstellungsmöglichkeiten • Vollständiges Login mit • Homeverzeichnisse • Platzbeschränkungen • Gruppenzugehörigkeiten • … • weitere Wünsche?
Vielen Dank für ihre Aufmerksamkeit Fragen ? ¿ ? ¿ Kontaktadressen: a.etzlstorfer@gmx.at roli2@gmx.at g.elsinger@eduhi.at OpenSource