| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
eyz User
Anmeldungsdatum: 26.10.2005 Beiträge: 18 Wohnort: .at
|
26.11.2005 22:03 Login funktioniert nicht richtig :/ |
|
|
Hallo Pear-Freunde
Ich hab mich ein wenig mit LiveUser und LiveUser_admin beschäftigt und bin eigentlich recht begeistert davon. Nachdem ich mir den Source von LiveUser_admin/example1 angesehn habe. Probierte ich mich selber an einem eigenen admin.php, von wo aus die Rechte, Areas, Apps und User verändert werden können. Was bis jetzt auch super funktioniert.
Jetzt steh ich aber an bei dem Versuch mich einzuloggen :/
Also ich hab die DB von dem Beispiel.
| Code: |
mysql> describe liveuser_users;
+----------------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------+------+-----+---------+-------+
| user_id | char(32) | YES | MUL | NULL | |
| handle | char(32) | YES | | NULL | |
| passwd | char(32) | YES | | NULL | |
| owner_user_id | int(11) | YES | | NULL | |
| owner_group_id | int(11) | YES | | NULL | |
| lastlogin | datetime | YES | | NULL | |
| isactive | char(1) | YES | | NULL | |
| name | char(50) | YES | | NULL | |
| email | char(100) | YES | | NULL | |
+----------------+-----------+------+-----+---------+-------+
|
mit dem User: name[test] pwd[test]
| Code: |
+---------+----------------+----------------------------------+---------------+----------------+-----------+----------+------+-------+
| user_id | handle | passwd | owner_user_id | owner_group_id | lastlogin | isactive | name | email |
+---------+----------------+----------------------------------+---------------+----------------+-----------+----------+------+-------+
| 5 | test1455086050 | 098f6bcd4621d373cade4e832627b4f6 | NULL | NULL | NULL | NULL | test | email |
+---------+----------------+----------------------------------+---------------+----------------+-----------+----------+------+-------+
|
Mein Conf-Array sieht so aus:
| PHP: | <?php $conf =
array(
'debug' => true,
'session' => array(
'name' => 'PHPSESSID',
'varname' => 'loginInfo'
),
'login' => array(
'force' => true,
),
'logout' => array(
'destroy' => true,
),
'cookie' => array(
'name' => 'loginInfo',
'path' => null,
'domain' => null,
'secure' => false,
'lifetime' => 30,
'secret' => 'mysecretkey',
'savedir' => '.',
),
//'autoInit' => true, // since lu_admin 0.3.5 removed..
// removed autoInit (call setAdminContainers() manually instead) *BC BREAK*
'authContainers' => array(
'DB_Local' => array(
'type' => $storage,
'loginTimeout' => 0,
'expireTime' => 3600,
'idleTime' => 1800,
'allowDuplicateHandles' => 0,
'passwordEncryptionMode' => 'MD5',
'storage' => array(
'connection' => $db,
'dsn' => $dsn,
#'prefix' => 'liveuser_',
'alias' => array(
'name' => 'name',
'email' => 'email',
'passwd' => 'passwd',
'handle' => 'handle',
'auth_user_id' => 'user_id',
'lastlogin' => 'lastlogin',
'is_active' => 'isactive',
'owner_user_id' => 'owner_user_id',
'owner_group_id' => 'owner_group_id',
),
'fields' => array(
'name' => 'text',
'email' => 'text',
'lastlogin' => 'timestamp',
'is_active' => 'boolean',
'owner_user_id' => 'integer',
'owner_group_id' => 'integer',
),
'tables' => array(
'users' => array(
'fields' => array(
'name' => false,
'email' => false,
'owner_user_id' => false,
'owner_group_id' => false,
'lastlogin' => false,
'is_active' => false,
),
),
),
// 'force_seq' => false
),
),
),
'permContainer' => array(
'type' => 'Complex',
'alias' => array(),
'storage' => array(
$storage => array(
'connection' => $db,
'dsn' => $dsn,
'prefix' => 'liveuser_',
'tables' => array(),
'fields' => array(),
'alias' => array(),
// 'force_seq' => false
),
),
),
); |
Dann erstell ich ein Objekt und schau mit init() ob man nun eingeloggt ist oder nicht.
| PHP: | <?php $LU =& LiveUser::factory($conf);
$handle = (array_key_exists('handle', $_REQUEST)) ? $_REQUEST['handle'] : null;
$passwd = (array_key_exists('passwd', $_REQUEST)) ? $_REQUEST['passwd'] : null;
$logout = (array_key_exists('logout', $_REQUEST)) ? $_REQUEST['logout'] : false;
$remember = (array_key_exists('rememberMe', $_REQUEST)) ? $_REQUEST['rememberMe'] : false;
if (!$LU->init($handle, $passwd, $logout, $remember)) {
var_dump($LU->getErrors());
die();
}
echo "LUstatusMessage[".$LU->statusMessage($LU->getStatus())."]";
// liefert immer wieder:
// Cannot authenticate, handle/password is probably wrong
//-------- dann noch LU_admin mit Log-File -----------
$admin =& LiveUser_Admin::factory($conf);
$logconf = array('mode' => 0666, 'timeFormat' => '%X %x');
$logger = &Log::factory('file', '_logs/liveuser_test.log', 'ident', $logconf);
$admin->log->addChild($logger);
$admin->setAdminContainers(); |
Will ich mich mit dem Testuser einloggen ($handle="test", $pwd="test") bekomm ich immer die Meldung "Cannot authenticate, handle/password is probably wrong".
Ich hab mich jetzt schon durchs Forum durchgelesen und die Doku studiert, bin aber noch nicht auf den Fehler gekommen. Jetzt versuch ichs mit einem Post hier im Forum
mfg eyz |
|
| Nach oben |
|
 |
lsmith User
Anmeldungsdatum: 10.03.2004 Beiträge: 450
|
27.11.2005 13:01 |
|
|
| Also der handle in deinem db output ist aber "test1455086050" .. ? |
|
| Nach oben |
|
 |
eyz User
Anmeldungsdatum: 26.10.2005 Beiträge: 18 Wohnort: .at
|
27.11.2005 14:50 |
|
|
Auch mit $handle[test1455086050] $passwd[test] bekomm ich die gleiche Meldung, dass entweder Handle oder Passwort falsch sind.
Könnte es eventuell sein, dass "owner_user_id" und "owner_group_id" gesetzt sein müssen?
Zuletzt bearbeitet von eyz am 27.11.2005 14:57, insgesamt einmal bearbeitet |
|
| Nach oben |
|
 |
lsmith User
Anmeldungsdatum: 10.03.2004 Beiträge: 450
|
27.11.2005 14:55 |
|
|
und die beispiele im client funktionieren ansonsten?
es ist von hieraus etwas schwer das genau zu debuggen.
hast du auch explizit die werte der parameter geprüft?
$LU->init($handle, $passwd, $logout, $remember)
das ist $dsn und $db in deinem config array? eigentlich braucht man nur entweder eine "dsn" oder eine "connection" übergeben. |
|
| Nach oben |
|
 |
eyz User
Anmeldungsdatum: 26.10.2005 Beiträge: 18 Wohnort: .at
|
27.11.2005 15:01 |
|
|
Ja die Werte werden überprüft, durch eine schlichte Ausgabe mit echo von $handle, $passwd etc
Ausgabe:
handle[test145508605]passwd[test]logout[]remember[]
LUstatusMessage[Cannot authenticate, handle/password is probably wrong]
Mein $dsn fuktioniert, ich kann in meinem admin.php alles auführen (User adden, Rechte vergeben, im Prinzip alles).
Nur beim Login passt irgendetwas noch nicht. |
|
| Nach oben |
|
 |
lsmith User
Anmeldungsdatum: 10.03.2004 Beiträge: 450
|
27.11.2005 15:03 |
|
|
| hmm dann hilft nur noch etwas debugging code einzufügen. benuzt du MDB/MDB2 oder DB? Bei MDB/MDB2 kannst du einfach den debug handler aus dem beispiel 1 benutzen. der gibt dann alle queries aus. bei DB müsstest du entsprechenden debug code in LiveUser_Auth_DB in die _readUserData() methode einbauen. |
|
| Nach oben |
|
 |
eyz User
Anmeldungsdatum: 26.10.2005 Beiträge: 18 Wohnort: .at
|
27.11.2005 15:28 |
|
|
$storage = 'MDB2';
Mit "Var_Dump::display($LU);" bekomm ich eine ziemlich umfangreiche Ausgabe über meine LU-Konfiguration - jedoch sind die Querys nicht enthalten.
Auf was soll ich den Debug-Handler ansetzen um die Ausgabe der Querys zu erreichen? |
|
| Nach oben |
|
 |
lsmith User
Anmeldungsdatum: 10.03.2004 Beiträge: 450
|
|
| Nach oben |
|
 |
eyz User
Anmeldungsdatum: 26.10.2005 Beiträge: 18 Wohnort: .at
|
27.11.2005 15:55 |
|
|
Also die "Call back Funktion" funktioniert, wenn ich zB. mit $admin->addUser einen User hinzufüge, bekomm ich das dazugehörige Query ausgegeben.
Beim Einloggen jedoch nicht. Ein Hinweis auf einen Fehler?
---- edit ----
Ich habs jetzt hinbekommen, dass ich den Query bekomme.. jedoch funktioniert das Login noch immer nicht
Nach dem Abschicken von $handle und $passwd bekomm ich als Resultat:
| Code: |
string(345) query: SELECT user_id AS auth_user_id,handle AS handle,passwd AS passwd,name AS name,email AS email,owner_user_id AS owner_user_id,owner_group_id AS owner_group_id,lastlogin AS lastlogin,isactive AS is_active
FROM liveuser_users
WHERE handle='test1455086050' AND passwd='098f6bcd4621d373cade4e832627b4f6'
|
Dieses Resultat in das Mysql-Clientprogramm eingegeben gibt mir den User aus... mit email, name, etc.. - also am Query liegts nicht.
| Code: |
echo "handle[$handle]passwd[$passwd]logout[$logout]remember[$remember]<br />";
# ergibt:
# handle[test1455086050]passwd[test]logout[]remember[]
echo "LUstatusMessage[".$LU->statusMessage($LU->getStatus())."]";
# ergibt:
# LUstatusMessage[Cannot authenticate, handle/password is probably wrong]
|
|
|
| Nach oben |
|
 |
lsmith User
Anmeldungsdatum: 10.03.2004 Beiträge: 450
|
27.11.2005 22:28 |
|
|
Hab mir nochmal die status message angeschaut .. und im aktuellen CVS gibt es nur folgende meldung:
"'Authentication failed, handle/password is probably wrong'"
könnte es sein, dass du eine alte version von liveuser nutzt? |
|
| Nach oben |
|
 |
eyz User
Anmeldungsdatum: 26.10.2005 Beiträge: 18 Wohnort: .at
|
27.11.2005 22:34 |
|
|
mit "pear list" erhalte ich:
LiveUser 0.16.7 beta
LiveUser_Admin 0.3.5 beta
In meiner LiveUser.php (Zeile 1610):
| Code: | | LIVEUSER_STATUS_AUTHFAILED => 'Cannot authenticate, handle/password is probably wrong', |
ps: Großartige Arbeit, die du hier leistest - danke
---- edit ----
Ich werd mein LiveUser.php mal aktualisieren mit dem CVS-Code und meld mich dann wieder  |
|
| Nach oben |
|
 |
lsmith User
Anmeldungsdatum: 10.03.2004 Beiträge: 450
|
27.11.2005 22:44 |
|
|
Ah ok .. das sind die aktuellsten versionen .. dann hat wohl einer die message im cvs verändert.
hmm das ist schon alles recht skuril. offentsichtlich scheint der container geladen werden. aha .. ich glaube es liegt am dem NULL im isactive feld .. das müsste "N" oder "Y" sein ..
wenn es "N" wäre, dann würde das login immer noch nocht funktionieren, da dies bedeutet, dass der user nicht aktiv ist, aber du würdest dann einen anderen status bekommen |
|
| Nach oben |
|
 |
eyz User
Anmeldungsdatum: 26.10.2005 Beiträge: 18 Wohnort: .at
|
27.11.2005 22:49 |
|
|
Ich hab jetzt mal provisorisch [isactive] mit einem update auf "Y" gesetzt und siehe da, es funktioniert einwandfrei!
Danke für deine Zeit!
Immerhin hab ich jetzt durch das viele schmöckern einen tieferen Einblick in LU bekommen  |
|
| Nach oben |
|
 |
lsmith User
Anmeldungsdatum: 10.03.2004 Beiträge: 450
|
27.11.2005 22:51 |
|
|
| das ist echt ein perfider bug in der art und weise, wie wir mit dem optional is_active feature umgehen. es ist einfach nicht vergessen, dass der wert was anderes ausser true oder false ist ... |
|
| Nach oben |
|
 |
|
|
|
Zu Deinen Favoriten hinzufügen
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
|