Derzeit wird der Anmeldedialog über die Klasse dojox.widget.Dialog realisiert. Das bringt die folgenden Einschränkungen mit sich: * Ein Browser ohne JavaScript sieht nur eine leere Seite, aber keinen Login-Screen * Der Dialog wird animiert eingeblendet, das kann echt nervig sein, wenn man bspw. die Sprache umschaltet (dadurch wird die Seite neu geladen und der Dialog wird nochmals eingeblendet) * Dies scheint auch ein Grund zu sein warum das Password nicht vom Browser gespeichert werden kann (Bug 23654) * Die Größe von dojox.widget.Dialog kann sich nicht dynamisch an den Inhalt anpassen, dies hat Einschränkungen für Meldung bei der Anmeldung (Bug 23277, Bug 23850) Der Anmeldedialog könnte wie folgt angepasst werden: * Ein statisches DIV-Elemente (mit Eingabefeldern etc.) wird in index.html definiert, das sich horizontal und vertikal zentriert und an seinen Inhalt dynamisch anpasst. * Dieses Elemente erbt die derzeitigen CSS-Styles des LoginDialogs, so dass es sich visuell von dem derzeitgen Login nicht unterscheidet * Das Elemente ist standardmäßig sichtbar * Die Klasse umc.widgets.LoginDialog könnte dieses Element kapseln (die dort enthaltene Logik, auch show/hide-Funktionalität) und um die Möglichkeit Hinweise einzublenden erweitert werden * Dazu muss sichergestellt werden, dass das DIV-Element nach ganz vorne gebracht wird, wenn es wieder angezeigt wird, so dass alle existierenden Elemente überlagert werden
Die Ausgabe eines Hinweises, dass man sich mit einem nicht unterstützten Browser anmeldet (siehe Bug 22979), kann hinzugefügt werden.
Durch diese Änderung würden auch existierende Probleme mit bspw. dem iPad gelöst werden. Dort springt der Anmeldedialog derzeit beim Einfahren des iPad-Keypad wild hin und her und veranlasst ggf. den Browser das Keypad wieder zu schließen.
Vielleicht kann mit einem Noscript-Tag direkt ein Hinweis im Anmeldedialog angezeigt werden, dass JavaScript aktiviert sein sollte.
Derzeit kann man im IE8 durch drücken von "Return" im Eingabefeld auch keinen Login auslösen. Das könnte auch noch berücksichtigt werden.
In diesem Zuge könnte eine korrekte Liste der verfügbaren Locales auch mit eingebaut werden (→ Bug 24139).
Die Änderungen sind vorgenommen worden, das Paket ist gebaut.
Created attachment 4190 [details] umc-login.png Siehe Screenshot. Der Dialog ist bei mir deutlich zu hoch (https und Firefox 10).
(In reply to comment #7) > Created an attachment (id=4190) [details] > umc-login.png > > Siehe Screenshot. Der Dialog ist bei mir deutlich zu hoch (https und Firefox > 10). Das Problem sollte eigentlich behoben sein, die entsprechenden CSS-Einstellungen wurden angepasst. Tritt der Fehler noch nachvollziehbar auf? Können ggf. Caching-Effekte dafür verantwortlich sein?
(In reply to comment #8) > Das Problem sollte eigentlich behoben sein, die entsprechenden > CSS-Einstellungen wurden angepasst. Tritt der Fehler noch nachvollziehbar auf? > Können ggf. Caching-Effekte dafür verantwortlich sein? Die Ausrichtung wurde zwar angepasst, allerdings mit einem nicht ganz passenden Wert. Es handelt sich insofern um keinen Caching-Effekt o.ä. Da man den Dialog nicht dynamisch vertikal zentrieren kann (weil der Dialog in der Höhe variiert), habe ich versucht einen guten Mittelwert für die Zentrierung zu finden. Wenn der Dialog keine oder nur eine kurze Mittelung enthält (bspw dass der Login fehlgeschlagen ist), dann ist der Dialog nahezu mittig ausgerichtet - hier sollte es nicht auffallen. Wenn in dem Dialog jedoch die "unverschlüsselte Verbindung"-Warnung angezeigt wird, dann hängt der Dialog etwas zu weit unten. Da diese Meldung jedoch nur einmal angezeigt wird (und auch nur wenn die Verbindung unverschlüsselt ist), ist dies aus meiner Sicht in Ordnung. Änderungen eingecheckt; Paket ist gebaut.
Folgendes Problem ist bei einer Demonstration aufgefallen: - In einem Browser waren die Passwörter für zwei Accounts (Administrator und d.krause1) gespeichert. - Als die Sitzung für d.krause1 ablief wurde der Login-Dialog angezeigt und als Benutzername würde Administrator mit entsprechendem Passwort vorausgefühlt. In UCS 3.0 war es so, dass der Benutzername beim Auslaufen der Sitzung nicht geändert werden konnte Man konnte sich in dem Fall als der andere Benutzer authentisieren und dann die Sitzung weiter verwenden. Das ist sicherheitstechnisch schlecht.
(In reply to comment #10) > In UCS 3.0 war es so, dass der Benutzername beim Auslaufen der Sitzung nicht > geändert werden konnte Das Verhalten ist wiederhergestellt. Beim Auslaufen der Sitzung erscheint der Dialog mit ausgefülltem Benutzername und deaktiviertem Textfeld, sodass dieser nicht mehr geändert werden kann. Sollte das Password zuvor gespeichert worden sein, so wird dies in Firefox und Chrome auch automatisch ausgefüllt. Im IE ist dieses Verhalten leider nicht möglich, da das Passwort erst vom Browser ausgefüllt wird, wenn man den Benutzernamen per Hand in das Textfeld einträgt. Dies ist nicht möglich, weil das Textfeld ja deaktiviert worden ist. Laut Rücksprache mit Stefan ist das Verhalten so in Ordnung. Änderungen eingecheckt; Paket gebaut.
Der Login-Dialog wird jetzt von allen getesteten Browsern erkannt (Chrome, Firefox, IE und Safari). Chrome und Firefox können das Passwort immer automatisch eintragen, IE nur beim ersten Login (beim Session Timeout geht es nicht), und Safari erkennt den Dialog und speichert das Passwort, aber trägt es nicht ein. ChangeLog vorhanden
Bei mir im IE 9 ist der gesamte Login-Bereich deaktiviert, siehe Screenshot umc-logoin1.png.
Created attachment 4225 [details] umc-login1.png
(In reply to comment #13) > Bei mir im IE 9 ist der gesamte Login-Bereich deaktiviert, siehe Screenshot > umc-logoin1.png. Das hängt mit der Kompatibilitätsansicht zusammen. Ich hatte die Seite zunächst der Zone "Lokales Intranet" zugewiesen. Nachdem ich die Seite in die Zone "Vertrauenswürdige Site" verschoben habe und die Kompatibilitätsansicht deaktiviert habe, konnte ich Benutzername und Passwort wieder eingeben.
(In reply to comment #15) > (In reply to comment #13) > > Bei mir im IE 9 ist der gesamte Login-Bereich deaktiviert, siehe Screenshot > > umc-logoin1.png. > > Das hängt mit der Kompatibilitätsansicht zusammen. Ich hatte die Seite zunächst > der Zone "Lokales Intranet" zugewiesen. Nachdem ich die Seite in die Zone > "Vertrauenswürdige Site" verschoben habe und die Kompatibilitätsansicht > deaktiviert habe, konnte ich Benutzername und Passwort wieder eingeben. Ich habe das position: absolute aus dem .umcShowHide rausgenommen. univention-management-console-frontend (1.0.276-1) unstable; urgency=low * fixed LoginDialog for Internet Explorer compatibility mode (Bug #25020) Paket baut gerade
(In reply to comment #16) > ... > Ich habe das position: absolute aus dem .umcShowHide rausgenommen. Diese Änderung hat zurfolge, dass beim Ablauf der Session die bestehenden UMC-Module etc. aus dem Bildschirm hinaus geschoben werden, da die Position des DIVs nachfolgende Elemente beeinflusst. Bitte dies berücksichtigen.
Ein Fehler trat noch auf, wenn mehrmals hintereinander umc.dialog.login() oder umc.dialog._loginDialog.show() aufgerufen wurde. Beim Login wurde dann das Overlay nicht ausgeblendet. Das wurde behoben. univention-management-console-frontend (1.0.278-1) unstable; urgency=low . * SearchForm: added missing dojo.require() * umc.dialog.login() / LoginDialog: fixed detection of already opened dialog Bug #25020
(In reply to comment #17) > Diese Änderung hat zurfolge, dass beim Ablauf der Session die bestehenden > UMC-Module etc. aus dem Bildschirm hinaus geschoben werden, da die Position des > DIVs nachfolgende Elemente beeinflusst. Bitte dies berücksichtigen. Dies wurde gefixt. univention-management-console-frontend (1.0.279-1) unstable; urgency=low * fixed LoginDialog for Internet Explorer compatibility mode (Bug #25020) → FIXED
Der Login-Dialog funktioniert jetzt auch im Kompatibilitätsmodus bei IE [89] und das Problem mit dem mehrfachen Aufrufen von umc.dialog.login() kann ich auch nicht mehr reproduzieren mit der neuen Version
Zur Info: Allgemeine Infos zu dem Thema "Login-Dialog mit JavaScript" sind im internen Wiki auf der Seite "JavaScript-Login und Passwörter" zusammengefasst.
UCS 3.0-1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"