5

私は使ってみました:

// do login if request is posted
if (isset($_POST) && !empty($_POST)) {
    // do authencation
    ...
} else {
    // request not posted
    // see if already logged in
    if (Zend_Auth::getInstance()->hasIdentity()) {
        echo "already logged in as: " . Zend_Auth::getInstance()->getIdentity();
    }
}

Zend_Auth::getInstance()->hasIdentity()ログイン後も常に間違っているようです...

4

3 に答える 3

11

電話をかけたことはありますZend_Auth::getInstance()->getStorage()->write($identity)か?

それを介しZend_Auth::getInstance()->authenticate($adapter)て認証している場合はストレージに書き込みますが、アダプターで直接認証を呼び出している場合は、ストレージにIDを書き込む責任があります。

于 2009-09-24T08:40:30.127 に答える
1

あなたのアイデンティティは永続化されていますか?(つまり、セッションに保存されているか、同様のもの)そうでない場合は、リクエストごとに再認証する必要があります

于 2009-09-24T08:24:26.650 に答える
1

私は同じ問題を抱えていました、私の場合、session.save_pathonの値が私のサーバー(phpinfo())に設定されていなかったので、私はこの値を追加しましたconfigs/application.ini

resources.session.save_path = APPLICATION_PATH "/../data/sessions"

そして私のサーバー上で私は777の権限を持つ/data/sessionsディレクトリを作成しますsessions

于 2011-11-01T20:34:12.930 に答える