Bug 25020 - Anpassungen des Login-Dialogs
Summary: Anpassungen des Login-Dialogs
Status: CLOSED FIXED
Alias: None
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
Version: UCS 3.0
Hardware: Other Linux
: P5 normal
Target Milestone: UCS 3.0-1
Assignee: Florian Best
QA Contact: Andreas Büsching
URL:
Keywords:
Depends on:
Blocks: 23277 23850
  Show dependency treegraph
 
Reported: 2011-11-30 13:04 CET by Alexander Kläser
Modified: 2012-03-04 14:34 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Customer ID:
Max CVSS v3 score:


Attachments
umc-login.png (25.96 KB, image/png)
2012-02-20 12:37 CET, Stefan Gohmann
Details
umc-login1.png (47.42 KB, image/png)
2012-02-27 07:49 CET, Stefan Gohmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2011-11-30 13:04:25 CET
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
Comment 1 Alexander Kläser univentionstaff 2011-11-30 13:08:09 CET
Die Ausgabe eines Hinweises, dass man sich mit einem nicht unterstützten Browser anmeldet (siehe Bug 22979), kann hinzugefügt werden.
Comment 2 Alexander Kläser univentionstaff 2011-11-30 13:15:13 CET
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.
Comment 3 Alexander Kläser univentionstaff 2011-11-30 16:34:51 CET
Vielleicht kann mit einem Noscript-Tag direkt ein Hinweis im Anmeldedialog angezeigt werden, dass JavaScript aktiviert sein sollte.
Comment 4 Alexander Kläser univentionstaff 2011-12-06 10:37:25 CET
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.
Comment 5 Alexander Kläser univentionstaff 2011-12-07 15:33:35 CET
In diesem Zuge könnte eine korrekte Liste der verfügbaren Locales auch mit eingebaut werden (→ Bug 24139).
Comment 6 Alexander Kläser univentionstaff 2012-02-14 16:56:35 CET
Die Änderungen sind vorgenommen worden, das Paket ist gebaut.
Comment 7 Stefan Gohmann univentionstaff 2012-02-20 12:37:46 CET
Created attachment 4190 [details]
umc-login.png

Siehe Screenshot. Der Dialog ist bei mir deutlich zu hoch (https und Firefox 10).
Comment 8 Alexander Kläser univentionstaff 2012-02-21 11:44:28 CET
(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?
Comment 9 Jascha Geerds univentionstaff 2012-02-22 11:41:09 CET
(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.
Comment 10 Andreas Büsching univentionstaff 2012-02-22 15:52:32 CET
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.
Comment 11 Jascha Geerds univentionstaff 2012-02-23 13:53:38 CET
(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.
Comment 12 Andreas Büsching univentionstaff 2012-02-24 12:14:52 CET
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
Comment 13 Stefan Gohmann univentionstaff 2012-02-27 07:48:56 CET
Bei mir im IE 9 ist der gesamte Login-Bereich deaktiviert, siehe Screenshot umc-logoin1.png.
Comment 14 Stefan Gohmann univentionstaff 2012-02-27 07:49:20 CET
Created attachment 4225 [details]
umc-login1.png
Comment 15 Stefan Gohmann univentionstaff 2012-02-27 07:57:01 CET
(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.
Comment 16 Florian Best univentionstaff 2012-02-27 17:28:08 CET
(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
Comment 17 Alexander Kläser univentionstaff 2012-02-28 14:01:24 CET
(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.
Comment 18 Alexander Kläser univentionstaff 2012-02-28 14:36:31 CET
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
Comment 19 Florian Best univentionstaff 2012-02-28 15:53:34 CET
(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
Comment 20 Andreas Büsching univentionstaff 2012-02-29 10:44:42 CET
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
Comment 21 Alexander Kläser univentionstaff 2012-03-02 13:56:28 CET
Zur Info: Allgemeine Infos zu dem Thema "Login-Dialog mit JavaScript" sind im internen Wiki auf der Seite "JavaScript-Login und Passwörter" zusammengefasst.
Comment 22 Sönke Schwardt-Krummrich univentionstaff 2012-03-04 14:34:14 CET
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"