ulrich
2017-01-31 54bbae3b0cdf11bb776ba7360fba2f690d6cfd50
commit | author | age
ecccfc 1 # Nutzerverwaltung
U 2
3 Eine Webanwendung zur Verwaltung von Benutzern eines Tomcat Web- und Applikationsservers in einer Derby-Datenbank.
4
667ccf 5 ## Webanwendung herstellen
U 6
7 Zum Herstellen der Webanwendung wird ein Java Development Kit (JDK) benötigt, wie es z.B. von [Azul](http://azul.com) oder dem [OpenJDK-Projekt](http://openjdk.java.net/) erhältlich ist. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt. Desweiteren werden die folgenden Klassenbibliotheken benötigt
8
9 ```
10 Bibliothek            Datei(en)                       Ablageort lokal
11 ----------            ---------                       ---------------
12 Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME
13 XStream ............. xstream-1.4.7.jar ............. $JLIB
14 Jettison ............ jettison-1.3.3.jar ............ $JLIB
15 BaseLink ............ BaseLink.jar .................. $JLIB
16 Transit ............. Transit.jar ................... $JLIB
17 ```
18 Diese sind an folgenden Orten frei erhältlich:
19
20 - [Apache Tomcat](http://tomcat.apache.org)
21 - [XStream](https://github.com/codehaus/xstream)
22 - [Jettison](https://github.com/codehaus/jettison)
23 - [BaseLink](https://uhilger.de/gitblit/summary/BaseLink.git)
24 - [Transit](https://uhilger.de/gitblit/summary/Transit.git)
25
26 Nach Beschaffung des JDK und der oben angegebenen Klassenbibliotheken wird der Quellcode aus diesem Git-Repository an einen frei wählbaren lokalen Ablageort [heruntergeladen](http://uhilger.de/gitblit/zip/?r=um.git&h=master&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `um` einschließlich des absoluten Pfades dorthin `$UM` genannt. Ferner wird angenommen, dass die oben aufgeführten Klassenbibliotheken lokal an Orten abgelegt sind, deren Pfade mit den Platzhaltern `$JLIB` und `$CATALINA_HOME` gemeint sind. Anstelle der Platzhalter in den folgenden Kommandos muss also der absolute Pfad des lokalen Ablageortes eingesetzt werden.
27
28 Zur Herstellung der Nutzerverwaltung werden die folgenden Kommandos ausgeführt (Beispiel für Linux):
29
30 ```
31 cd $UM
32 mkdir dist build
33 cp -r web/* build
34 cd build/WEB-INF
35 mkdir classes lib
36 cd ../..
37 cp $JLIB/* build/WEB-INF/lib
38
39 $JDK/bin/javac -classpath $JLIB/jettison-1.3.3.jar:$JLIB/BaseLink.jar:$JLIB/Transit.jar:$JLIB/xstream-1.4.7.jar:$CATALINA_HOME/lib/servlet-api.jar -d ./build/WEB-INF/classes  src/java/de/uhilger/um/*.java src/java/de/uhilger/um/api/*.java src/java/de/uhilger/um/web/*.java src/java/de/uhilger/um/daten/*.java
40
41 $JDK/bin/jar -cf dist/um.war -C build .
42 rm -r build
43 ```
44
45 Das Webarchiv der Nutzerverwaltung liegt anschließend als `$UM/dist/um.war` fertig zum Deployment bereit.
46
47 ### Distributionsalternative
48
49 Das Kommando `cp $JLIB/* build/WEB-INF/lib` kann auch weggelassen werden, dann sind die Klassenbibliotheken nicht Teil des Webarchivs der Nutzerverwaltung. In diesem Fall muss stattdessen der Inhalt von `$JLIB` nach `$CATALINA_BASE/lib` kopiert werden.
50
51 ## Abhängigkeiten
52
53 Die Nutzerverwaltung erfordert die folgenden Bestandteile auf der Instanz von Tomcat, auf der sie ausgeführt werden soll:
54
55 ```
56 $CATALINA_BASE/webapps/jslib/bootstrap ............ mindestens in Version 4.0 alpha 6
57 $CATALINA_BASE/webapps/jslib/jquery ............... mindestens in Version 1.11.1
58 $CATALINA_BASE/webapps/jslib/mustache ............. mindestens in Version 2.3.0
59 ```
60
61 `$CATALINA_BASE` meint das in der der Datei [RUNNING.txt](http://tomcat.apache.org/tomcat-8.5-doc/RUNNING.txt) der Tomcat-Dokumentation so bezeichnete Verzeichnis. Nachfolgend die Quellen, von denen die obigen Abhängigkeiten bezogen werden können:
62
63 - [Bootstrap](http://getbootstrap.com)
64 - [jQuery](http://jquery.com)
65 - [Mustache](https://github.com/janl/mustache.js)
66
a3d357 67 ### Datenbank
U 68
54bbae 69 Zur Verwaltung von Benutzern in einer Datenbank muss ein [Derby-Datenbankserver](http://db.apache.org/derby) im Zugriff der Nutzerverwaltung sein. Im Auslieferungszustand der Nutzerverwaltung ist dies in der Datei `$UM/web/META-INF/context.xml` als Uniform Resource Locator (URL) `jdbc:derby://127.0.0.1:1528` konfiguriert. Damit wird auf einen Derby-Server auf Port 1528 der lokalen Maschine verwiesen. Dieser Eintrag muss geändert werden, wenn sich der Datenbankserver an einem anderen Ort befindet.
a3d357 70
U 71 Für den Zugriff auf den Datenbankserver muss sich der Datenbanktreiber `derbyclient.jar` aus der Distribution von Derby im Verzeichnis `$CATALINA_BASE/lib` befinden.
72
667ccf 73 ## Funktionen
U 74
75 Die Nutzerverwaltung stellt die folgenden Funktionen bereit
76
77 - Anlegen neuer Benutzer
78 - Löschen von Benutzern
79 - Anlegen neuer Rollen
80 - Löschen von Rollen
81 - Rollen erteilen
82 - Rollen entziehen
83
84 Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv) und fügt sich neben den o.a. Funktionen in den Rahmen für Verwaltungsfunktionen einer WebBox ein.
85
86 Weitere Informationen zur Nutzerverwaltung finden sich auf der [Produktseite] (http://uhilger.de/dev/Software/Nutzerverwaltung/Nutzerverwaltung) 
87 ...dort noch nicht auf dem neuesten Stand...