Änderungen von Dokument Datenbank-Authentifikator


Von Version 10.1
bearbeitet von MKO
am 01.06.2023, 12:35
Änderungskommentar: Neues Bild PW_hidden.png hochladen
Auf Version 26.1
bearbeitet von MKO
am 20.07.2023, 19:47
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -3,7 +3,7 @@
3 3  {{content/}}
4 4  
5 5  
6 -Das kostenpflichtige //Datenbank-Authentikator-Plugin// stellt eine Möglichkeit zur Verfügung eine Anmeldung an einem Formular in Form einer Datenbank-Abfrage durchzuführen. Hierbei kann eine HTML-Seite inkl. Validatoren, Fehlertexten und die eigentliche Anbindung der Datenbank zur individualisiert werden. Nach dem Absenden der HTML-Seite werden für die Anmeldung die Eingaben der Login-Seite als Platzhalter für die Datenbank-Abfrage bereitgestellt. Auch steht die Möglichkeit zur Verfügung, bei nicht gefundenem Datensatz den "Login" dennoch zu erlauben. Hierbei stehen im Formular dann ausschließlich die Daten aus der Login-Seite zur Verfügung. Ferner ist es möglich eine Login-Sperre zu definieren welche bei mehrfacher Fehlereingabe den Login anhand eines der Eingabefelder temporär sperrt.
6 +Das kostenpflichtige //Datenbank-Authentikator-Plugin// stellt eine Möglichkeit zur Verfügung eine Anmeldung an einem Formular in Form einer Datenbank-Abfrage durchzuführen. Hierbei kann eine HTML-Seite inkl. Validatoren, Fehlertexten und die eigentliche Anbindung der Datenbank individualisiert werden. Nach dem Absenden der HTML-Seite werden für die Anmeldung die Eingaben der Login-Seite als Platzhalter für die Datenbank-Abfrage bereitgestellt. Auch steht die Möglichkeit zur Verfügung, bei nicht gefundenem Datensatz den "Login" dennoch zu erlauben. Hierbei stehen im Formular dann ausschließlich die Daten aus der Login-Seite zur Verfügung. Ferner ist es möglich eine Login-Sperre zu definieren, welche bei mehrfacher Fehlereingabe den Login anhand eines der Eingabefelder temporär sperrt.
7 7  
8 8  
9 9  == Konfiguration ==
... ... @@ -18,13 +18,13 @@
18 18  : Gibt den HTML-Title an. Es steht die Verwendung von i18n-Variablen zur Verfügung.
19 19  
20 20  ; Seiteninhalt
21 -: Hier kann der HTML-Inhalt der eigentlichen Login-Seite gepflegt werden. Dieser wird beim Ausliefern automatisch in einen HTML-Rahmen und innerhalb eines FORM-Elements gerendert. Hierbei ist zu beachten, dass alle Eingabefelder welche innerhalb der Datenbank-Abfrage verwendet werden sollen ein name-Attribute besitzen um diese mittels Platzhalter refernezieren zu können. [[Hier>>Formcycle.PluginDocumentation.DatabaseAuth#HKonfigurationsmF6glichkeitenderLogin-Seite]] finden Sie eine weiterführende Übersicht der Konfigurationsmöglichkeiten.
21 +: Hier kann der HTML-Inhalt der eigentlichen Login-Seite gepflegt werden. Dieser wird beim Ausliefern automatisch in einen HTML-Rahmen und innerhalb eines FORM-Elements gerendert. Hierbei ist zu beachten, dass alle Eingabefelder welche innerhalb der Datenbank-Abfrage verwendet werden sollen ein name-Attribute besitzen um diese mittels Platzhalter referenzieren zu können. Weiterhrende Hilfen finden Sie im Kapitel "Konfigurationsmöglichkeiten der Login-Seite".
22 22  
23 23  ; Fehlermeldung bei nicht gefundenem Datensatz
24 -: Ermöglicht die Änderung der Fehlermeldung wenn bei der Datenbank-Abfrage kein Datensatz gefunden wurde. Es steht die Verwendung von i18n-Variablen zur Verfügung.
24 +: Ermöglicht die Änderung der Fehlermeldung, wenn bei der Datenbank-Abfrage kein Datensatz gefunden wurde. Es steht die Verwendung von i18n-Variablen zur Verfügung.
25 25  
26 26  ; Fehlermeldung bei gesperrtem Login
27 -: Ermöglicht die Änderung der Fehlermeldung der Login temporär gesperrt wurde. Es steht die Verwendung von i18n-Variablen zur Verfügung. Ferner wird das Datum bis wann der Login gesperrt wurde als Variable zur Verfügung und kann über die Java-Messaging-Formatierung eingefügt und in dessen Ausgabeformat angepasst werden.
27 +: Ermöglicht die Änderung der Fehlermeldung, wenn der Login temporär gesperrt wurde. Es steht die Verwendung von i18n-Variablen zur Verfügung. Ferner wird das Datum, bis wann der Login gesperrt wurde als Variable zur Verfügung gestellt und kann über die [[Java-Message-Formatierung>>https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/MessageFormat.html]] eingefügt und in dessen Ausgabeformat angepasst werden.
28 28  
29 29  === Datenbank ===
30 30  
... ... @@ -34,7 +34,7 @@
34 34  
35 35  
36 36  ; JDBC URL
37 -: Definiert die JDBC URL zu anzubindenen Datenbank
37 +: Definiert die JDBC URL der anzubindenden Datenbank
38 38  
39 39  ; Benutzername
40 40  : Definiert den Benutzernamen für den Login an der Datenbank
... ... @@ -43,11 +43,10 @@
43 43  : Definiert das Passwort für den Login an der Datenbank
44 44  
45 45  ; Datenbank-Abfrage
46 -: Definiert die eigentliche Datenbank-Abfrage zur Ermittlung eines Datensatzes basierend auf den Eingaben der Login-Seite. Diese Eingaben stehen über Platzhalter in Form von "[%<html-name-attribute>%]" zur Verfügung. Sobald eine Datenbank-Zeile bei von diesem Query zurückgegeben wird gilt der Login als erfolgreich.
46 +: Definiert die eigentliche Datenbank-Abfrage zur Ermittlung eines Datensatzes basierend auf den Eingaben der Login-Seite. Diese Eingaben stehen über Platzhalter in Form von {{code language="none"}}[%<html-name-attribute>%]{{/code}} zur Verfügung. Sobald eine Datenbank-Zeile bei von dieser Abfrage zurückgegeben wird, gilt der Login als erfolgreich.
47 47  
48 -
49 49  ; Erlaube Login ohne gefundenen Datenbank-Eintrag
50 -: Ist diese Option aktiv wird der Login auch ohne gefundenen Datenbank-Eintrag erlaubt. Hierbei stehen dann ausschließlich die Daten der Login-Seite zur Verfügung.
49 +: Ist diese Option aktiv wird der Login auch ohne gefundenen Datenbank-Eintrag erlaubt. Hierbei stehen ausschließlich lediglich die Daten der Login-Seite als Benuterattribute zur Verfügung.
51 51  
52 52  === Login-Sperre ===
53 53  
... ... @@ -55,14 +55,14 @@
55 55  Konfiguration der Login-Sperre
56 56  {{/figure}}
57 57  
58 -; Attribut für die Sperr-Identifikation
59 -: Definiert den Namen des HTML-Feldes welches für die Prüfung der Login-Sperre herangezogen wird. Hierbei werden die fehlgeschlagenen Login-Versuche mit dem selben Wert dieses Feldes gespeichert und bei Überschreiten einer deinierten Anzahl ein Login mit diesen temporär verhindert.
57 +; Eingabe-Feld für die Sperr-Identifikation
58 +: Definiert den Namen des HTML-Feldes, welches für die Prüfung der Login-Sperre herangezogen wird. Hierbei werden die fehlgeschlagenen Login-Versuche mit dem Wert dieses Feldes gespeichert und bei Überschreiten einer definierten Anzahl ein Login mit diesem temporär verhindert.
60 60  
61 61  ; Maximale Login-Versuche
62 62  : Definiert nach wie vielen fehlerhaften Login-Versuchen mit dem selben Wert dieser temporär gesperrt werden soll.
63 63  
64 64  ; Sperrdauer (in Minuten)
65 -: Definiert die Dauer der tempotären Login-Sperre
64 +: Definiert die Dauer der temporären Login-Sperre
66 66  
67 67  ; Eingaben beim Auftreten der Login-Sperre deaktivieren
68 68  : Ist diese Option aktiviert werden alle Eingabefelder der Login-Seite beim Eintreten der Login-Sperre deaktiviert. Hierbei sind dann keine weiteren Eingaben mehr möglich.
... ... @@ -73,26 +73,18 @@
73 73  Zuordnung der Benutzer-Attribute
74 74  {{/figure}}
75 75  
76 -In dieser Liste wird die Zuordnung der ermittelten Werte zu den Stanard-Benutzerattributen angeboten. Hierbei können sowohl die Werte der Datenbank-Abfrage in Form der Spalten-Namen, als auch die Werte der Login-Seite in Form der name-Attribute verwendet werden. Überschneiden sich diese Namen wird der Wert der Datenbank-Abfrage bevorzugt.
75 +In dieser Liste wird die Zuordnung der ermittelten Werte zu den Stanard-Benutzerattributen angeboten. Hierbei können sowohl die Werte der Datenbank-Abfrage in Form der Spalten-Namen als auch die Werte der Login-Seite in Form der name-Attribute verwendet werden. Überschneiden sich diese Namen wird der Wert der Datenbank-Abfrage bevorzugt.
77 77  
78 78  == Konfigurationsmöglichkeiten der Login-Seite ==
79 79  
80 -Für die Konfiguration der Login-Seite stehen neben den Standarts HTML, JavaScript und CSS auch weitere Möglichkeiten zur Verfügung. So wird hier unter anderem die Bibliothekt [[jQuery>>https://jquery.com/]] angeboten.
79 +Für die Konfiguration der Login-Seite stehen neben den Standards HTML, JavaScript und CSS auch weitere Möglichkeiten zur Verfügung. So wird hier unter anderem die Bibliothek [[jQuery>>https://jquery.com/]] angeboten. Zu beachten ist, dass die Login-Seite für das Absenden einen submit-Button benötigt und ein Container mit der id "error" für die Anzeige von Fehlernachrichten bei nicht erfolgreichem Login angedacht ist.
81 81  
82 82  === Validierung ===
83 83  
84 -Für eine Client-seitige Validierung der Eingaben wird standardmäßig die Bibliothek [[Parsley.js>>https://parsleyjs.org]] eingebunden. Dieses ermöglicht es mittels Attributen an den Eingabefeldern z.B. deren Ausfüllung zu verpflichten oder auch ein bestimmtes Format zu erzwingt. Die Validierung wird hierbei bereits standardmäßig auf die Ereignisse "keydown" und "focusout" gebunden. Ferner wird der Absende-Button bis erst bei erfolgreicher Validierung aller Eingabe-Elemente aktiviert. Eine weiterführende Liste der Möglichkeiten von Parsley.js finden Sie in der entsprechenden [[Dokumentation>>https://parsleyjs.org/doc/index.html]].
83 +Für eine Client-seitige Validierung der Eingaben wird standardmäßig die Bibliothek [[Parsley.js>>https://parsleyjs.org]] eingebunden. Dies ermöglicht es mittels Attributen an den Eingabefeldern z.B. deren Ausfüllung zu verpflichten oder auch ein bestimmtes Format zu erzwingt. Hierbei wird der Absende-Button erst bei erfolgreicher Validierung aller Eingabe-Elemente aktiviert. Eine weiterführende Liste der Möglichkeiten von Parsley.js finden Sie in der entsprechenden [[Dokumentation>>https://parsleyjs.org/doc/index.html]].
85 85  
86 86  === Weiter Attribute ===
87 87  
88 -Zusätzlich zu der Definition der Validierung stehen noch folgende Plugin-spezifische Attribute zur Verfügung:
89 -
90 -; data-keep-enabled
91 -: Verhindert das Deaktivieren des Abense-Knopfs bei nicht valieden Eingaben und das Deaktivieren einzelner Eingabefeldern bei Auftreten der Login-Sperre.
92 -
93 -; data-show-type
94 -: Ermöglicht es an einem Passwort-Feld einen Input-Typen zu definieren zu welchem mittels eines Auge-Symbols umgeschaltet werden kann. Dies ermöglicht es zu einer lesbaren Darstellungsform der Eingabe umzuschalten.
95 -
96 96  {{figure image="PW_hidden.png"}}
97 97  Passwortfeld mit Anzeige-Option
98 98  {{/figure}}
... ... @@ -99,19 +99,29 @@
99 99  
100 100  
101 101  {{figure image="PW_show.png"}}
102 -Sichbares Passwort
93 +Sichtbares Passwort
103 103  {{/figure}}
104 104  
96 +Zusätzlich zu der Definition der Validierung stehen noch folgende Plugin-spezifische HTML-Attribute zur Verfügung:
105 105  
98 +; data-keep-enabled
99 +: Verhindert das Deaktivieren des Absende-Knopfs bei nicht validen Eingaben und das Deaktivieren einzelner Eingabefeldern bei Auftreten der Login-Sperre.
100 +
101 +; data-show-type
102 +: Ermöglicht es an einem Passwort-Feld einen Input-Typen zu definieren zu welchem mittels eines Auge-Symbols umgeschaltet werden kann. Dies ermöglicht es zu einer lesbaren Darstellungsform der Eingabe umzuschalten.
103 +:
104 +; data-custom-tooltip
105 +: Ermöglicht die Angabe der ID eines HTML-Containers dessen Inhalt als Tooltip für Element mit diesem Attribut verwendet wird.
106 +
106 106  === Styling (CSS) ===
107 107  
108 -Das Plugin liefert für das Styling der Login-Seite bereits Standard-Definitionen für das Layout sowie für Eingabe-Elemente, den Login-Button und Fehleranzeigen bereits mit aus. Diese können innerhalb der Konfiguration der Login-Seite in einem HTML-Style-Tag nach Bedarf überschrieben werden. Innerhalb des HTMLs stehen ferner folgende Klassen zur Verfügung:
109 +Das Plugin liefert für das Styling der Login-Seite bereits Standard-Definitionen für das Layout sowie für Eingabe-Elemente, den Login-Button und Fehleranzeigen aus. Diese können innerhalb der Konfiguration der Login-Seite in einem HTML-style-Tag nach Bedarf überschrieben werden. Innerhalb des HTMLs stehen ferner folgende Klassen zur Verfügung:
109 109  
110 110  ; heading
111 111  : Definiert einen DIV-Container für die Verwendung als Oberüberschrift.
112 112  
113 113  ; row
114 -: Definiert einen DIV-Container als einzelne Zeile der Login-Seite. Dies ist als Container für das Label, die Beschreibung, den Fehlertext zu einem auch enthaltenen Eingabefeld vorgesehen.
115 +: Definiert einen DIV-Container als einzelne Zeile der Login-Seite. Dies ist als Container für das Label, die Beschreibung und den Fehlertext zu einem ebenfalls enthaltenen Eingabefeld vorgesehen.
115 115  
116 116  ; desc
117 117  : Definiert einen DIV-Container innerhalb einer Zeile als Beschreibung.
... ... @@ -119,16 +119,15 @@
119 119  ; errors
120 120  : Definiert einen DIV-Container für die Anzeige von Fehlern.
121 121  
122 -
123 123  === Internationalisierung ===
124 124  
125 -In der Konfiguration des Seitentitels, des Seiteninhalts sowie in den Fehlermeldungen können die Mandant-spezifischen I18N-Variablen verwendet werden. Diese sind in Form des Platzhalter [%I18N.<Wert>%] anzugeben und werden entspechend der Aufruf-Sprache des Formulars ersetzt. Die Pflege dieser Variablen finden Sie [[hier>>Formcycle.UserInterface.FilesAndTemplates.I18nVariables]].
125 +In der Konfiguration des Seitentitels, des Seiteninhalts sowie in den Fehlermeldungen können die Mandant-spezifischen I18N-Variablen verwendet werden. Diese sind in Form des Platzhalters {{code language="none"}}[%I18N.<Wert>%]{{/code}} anzugeben und werden entsprechend der Aufruf-Sprache des Formulars ersetzt. Die Pflege dieser Variablen finden Sie [[hier>>Formcycle.UserInterface.FilesAndTemplates.I18nVariables]].
126 126  
127 127  === Beispiel-HTML ===
128 128  
129 129  {{code language="html"}}
130 130  <script>
131 - <!-- Setzt das maximal auswählabre Daten des Feldes 'GebDatum' auf das aktuelle Daten -->
131 + <!-- Setzt das maximal auswählbare Daten des Feldes 'GebDatum' auf das aktuelle Daten -->
132 132   $(document).ready(function() {
133 133   $('#GebDatum').prop('max', new Date().toLocaleDateString('fr-ca'));
134 134   });
... ... @@ -182,7 +182,9 @@
182 182  
183 183  <!-- Definition einer Footers -->
184 184  <footer>
185 - <div style="display: inline-block;"><a href="https://www.xima.de/" target="_blank">XIMA</a></div>
185 + <div style="display: inline-block;">
186 + <a href="https://www.xima.de/" target="_blank">XIMA</a>
187 + </div>
186 186  </footer>
187 187  {{/code}}
188 188  
... ... @@ -189,6 +189,20 @@
189 189  
190 190  == Versionshistorie ==
191 191  
194 +=== 1.1.0 ===
195 +
196 +* Standard-Validierungs-Events (Parsley) vom Formular entfernt. Diese können damit flexiebler am eigentlichen HTML-Element hinterlegt werden.
197 +* Tippy.js für Tooltips hinzugefügt
198 +* Eingbau eines Mechanismuses der automatisch Tooltips für Elemente erzeugt.
199 +* JavaScript-Callback für das Ausführen von Script vor dem internen hinzugefügt (preInitLoginPage())
200 +* Kleinere Anpassungen am Internationalisierungs-Mechanismus
201 +* Kleinere CSS Anpassungen
202 +
203 +=== 1.0.1 ===
204 +
205 +* Anpassung an der Übergabe der verwendeten Formular-Sprache innerhalb des Authentifikators
206 +* Unterstützung von Mandant-spezifischen Platzhaltern innerhalb der Konfiguration der Login-Seite erweitert
207 +
192 192  === 1.0.0 ===
193 193  
194 194  * Initialer Release
Attributes_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.mko
Größe
... ... @@ -1,0 +1,1 @@
1 +22.2 KB
Inhalt
DB_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.mko
Größe
... ... @@ -1,0 +1,1 @@
1 +25.4 KB
Inhalt
Lock_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.mko
Größe
... ... @@ -1,0 +1,1 @@
1 +13.4 KB
Inhalt
Login_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.mko
Größe
... ... @@ -1,0 +1,1 @@
1 +45.8 KB
Inhalt
PW_show.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.mko
Größe
... ... @@ -1,0 +1,1 @@
1 +3.0 KB
Inhalt