Problem mit Frontenduser-Login: Bug oder mein Fehler?
Verfasst: Do 22. Jun 2006, 14:54
Hallo zusammen!
Verwendete Version: 4.6.8.5 (aber möglicherweise trifft das auch auf 4.6.8 zu?)
Problem:
Ich kann mich über das Standard-Loginform (htdocs/cms/front_crcloginform.inc.php) nicht mit Frontend-Benutzern einloggen, sondern erhalte immer die Fehlermeldung Invalid Username or Password! (obwohl beides stimmt).
Beim Blick in den Code (/conlib/auth.inc) ist mir folgendes aufgefallen:
In Zeile 47 wird eine Variable $cl deklariert ...
47: $cl = $this->cancel_login;
... und in Zeile 72 als $$cl referenziert:
72: if ($$cl) {
Meine Vermutung ist, dass das $$cl falsch ist (es muss wohl $cl heissen). Wenn ich es nämlich entsprechend ändere, funktioniert's bei mir wieder.
Ist das ein Bug, oder habe ich den Code falsch verstanden und stattdessen alles "verschlimmbessert"?
Verwendete Version: 4.6.8.5 (aber möglicherweise trifft das auch auf 4.6.8 zu?)
Problem:
Ich kann mich über das Standard-Loginform (htdocs/cms/front_crcloginform.inc.php) nicht mit Frontend-Benutzern einloggen, sondern erhalte immer die Fehlermeldung Invalid Username or Password! (obwohl beides stimmt).
Beim Blick in den Code (/conlib/auth.inc) ist mir folgendes aufgefallen:
Code: Alles auswählen
14: class Auth {
...
46: function start() {
47: $cl = $this->cancel_login;
48: global $sess, $$cl;
...
63: # Check current auth state. Should be one of
64: # 1) Not logged in (no valid auth info or auth expired)
65: # 2) Logged in (valid auth info)
66: # 3) Login in progress (if $$cl, revert to state 1)
67: if ($this->is_authenticated()) {
68: $uid = $this->auth["uid"];
69: switch ($uid) {
70: case "form":
71: # Login in progress
72: if ($$cl) {
73: # If $$cl is set, delete all auth info
74: # and set state to "Not logged in", so eventually
75: # default or automatic authentication may take place
76: $this->unauth();
77: $state = 1;
78: } else {
79: # Set state to "Login in progress"
80: $state = 3;
81: }
82: break;
83: default:
84: # User is authenticated and auth not expired
85: $state = 2;
86: break;
87: }
88: } else {
89: # User is not (yet) authenticated
90: $this->unauth();
91: $state = 1;
92: }
...
305: }
47: $cl = $this->cancel_login;
... und in Zeile 72 als $$cl referenziert:
72: if ($$cl) {
Meine Vermutung ist, dass das $$cl falsch ist (es muss wohl $cl heissen). Wenn ich es nämlich entsprechend ändere, funktioniert's bei mir wieder.
Ist das ein Bug, oder habe ich den Code falsch verstanden und stattdessen alles "verschlimmbessert"?
