我刚开始用 cakePHP 编码。我编码并尝试编写登录和身份验证页面。
我试过这个:
class AppController extends Controller
{
public function beforeFilter()
{
parent::beforeFilter();
if ($this->request->action != 'login' && !$this->Session->check('profile'))
{
$this->Session->setFlash('You are not logged in');
$this->redirect(array(
'controller' => 'profiles',
'action' => 'login'
));
}
}
}
我的问题是我无法登录。我总是得到
“你没有登录”
没有此代码,它可以工作,但不能保护其他页面。
我的路线.php
Router::connect('/', array('controller' => 'profiles', 'action' => 'login'));
我的 ProfilesController.php
public function login()
{
if ($this->request->is('post'))
{
$profile = $this->Profile->find('first', array(
'conditions' => array(
'name' => $this->request->data('Profile.name'),
'password' => $this->request->data('Profile.password')
)
));
if ($profile)
{
$this->Session->write('Profile',$profile);
$this->redirect(array('controller' => 'Projects',
'action' => 'index'));
}
$this->Session->setFlash('Profile and Password does not match!');
}
}