CakePHP: Session->write() funktioniert nicht

Ich Baue ein sehr basic-auth-system für bestimmte Seiten, die ein Passwort erfordern, um Sie anzuzeigen. Ich habe einige andere Fragen, die ähnlich klingen, aber die einzigen, die mit den klaren Lösungen erfordern, config-Einstellungen, die scheinen nicht zu lösen mein problem. Aus irgendeinem Grund $this->Session->write(...) immer false zurück.

Hier ist meine config-Einstellung:

Configure::write('Session', array(
    'defaults' => 'php'
));

Hier ist, wo ich versuche zu schreiben, die Sitzung, in der controller-action:

private function _handle_auth_attempt( $object ) {
    $submitted_pass = $this->request->data['Object']['password'];
    $correct_pass = $object['Object']['password'];
    $auth_cookie_name = $this->Object->auth_cookie_name($object);

    debug($auth_cookie_name); //'Object1.pass'
    debug($submitted_pass); //'foobar'

    if ( md5($submitted_pass) == md5($correct_pass) ) {
        $write1 = $this->Session->write( $auth_cookie_name, md5($submitted_pass) );
        $write2 = CakeSession::write( $auth_cookie_name, md5($submitted_pass) );            
        debug($write1); //FALSE
        debug($write2); //FALSE
        return TRUE;
    }

    $this->Session->setFlash('The password you entered is incorrect.');
    $this->redirect( $this->referer() );

}

Update

Innen _handle_auth_attempt() ich fügte hinzu:

$_SESSION['foo'] = 'bar';
$this->Session-read('foo'); //'bar'

...und Sie funktionieren gut. Also ich bin mir ziemlich sicher, dass dies kein Berechtigungen-problem.

Sind Sie mit dem hinzufügen SessionComponent an den controller?
haben u gelöscht, browser-cache?
Ich gedebuggt $ - Komponente, und ich sehe, Session -, Cookie-und Auth in das array rechts-vor ->write(...).
Ich wechselte Browser und die situation ist die gleiche.

InformationsquelleAutor emersonthis | 2013-12-11

Schreibe einen Kommentar