我有一個問題與蛋糕的身份驗證,我根本無法過去(我一直在調試和嘗試不同的教程在過去兩天)。據我所見,它應該非常簡單,問題是每當我嘗試登錄時,它只是刷新登錄頁面。我不能爲了我的生活找出原因!我唯一的結論是,必須有一些(基本的)哪些教程理所當然地認爲我錯過了。cakePHP身份驗證組件不起作用
這裏有幾個片斷:
users_controller.php中
class UsersController extends AppController {
var $name = 'Users';
function beforeFiler() {
parent::beforeFilter();
}
function login() {
}
function logout() {
$this->Session->setFlash('You have successfully logged out.');
$this->redirect($this->Auth->logout());
}
}
app_controller.php
class AppController extends Controller {
var $helpers = array('Html','Form','Javascript');
var $components = array('Auth');
function beforeFilter() {
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
$this->Auth->loginRedirect = array('controller' => 'contents', 'action' => 'index');
$this->Auth->logoutRedirect = array('controller' => 'contents', 'action' => 'view');
$this->Auth->loginError = 'Something went wrong';
$this->Auth->allow('register', 'view');
$this->Auth->authorize = 'controller';
$this->set('loggedIn', $this->Auth->user('id'));
}
function isAuthorized() {
return true;
}
}
login.ctp
<div class="midCol short">
<h3>Login</h3>
<div class="loginBox">
<?php e($form->create('User', array('controller'=>'users','action'=>'login')));?>
<?php
echo $this->Form->input('username');
echo $this->Form->input('password');
e($this->Form->end(array('label'=>'Login', 'class'=>'loginButton button png')));?>
</div>
</div>
任何幫助將是很大的應用這讓我把頭髮撕掉了!
是否與驗證問題或重定向? – bancer 2010-10-25 00:46:17
問題在於驗證。我檢查視圖中的$ loggedIn,並且它永遠不會觸發 – tiltos 2010-10-25 01:24:58
把它放在'login.ctp'中:'echo $ this-> Session-> flash('auth');'同樣,執行生成的SQL查詢看起來好嗎?用戶是否存在?他發現了嗎? – deceze 2010-10-25 02:28:52