我正在爲需要密碼才能查看的特定頁面構建一個非常基本的認證系統。我發現其他幾個聽起來類似的問題,但只有那些有明確解決方案的問題涉及配置設置,這似乎不能解決我的問題。由於某種原因,$this->Session->write(...)
總是返回false。CakePHP:Session-> write()不起作用
這裏是我的配置設置:
Configure::write('Session', array(
'defaults' => 'php'
));
此處,我試着寫在控制器動作會話:
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());
}
更新
裏面_handle_auth_attempt()
我說:
$_SESSION['foo'] = 'bar';
$this->Session-read('foo'); //'bar'
...他們工作得很好。所以我很確定這不是一個權限問題。
你添加SessionComponent控制器? –
你有清除瀏覽器緩存? – praveen
@GuillemoMansilla我調試了$組件,並且在 - > write(...)之前看到陣列中的Session,Cookie和Auth。 – emersonthis