cakephp中的管理员登录重定向
大家好,回到编码。陷入了一个奇怪的错误。cakephp上的auth组件将用户登录,并将用户重定向到仪表板页面,但错误在于,当用户登录仪表板时,登录表单仍然可见,并且仪表板的实际内容没有显示cakephp中的管理员登录重定向,cakephp,authentication,view,Cakephp,Authentication,View,大家好,回到编码。陷入了一个奇怪的错误。cakephp上的auth组件将用户登录,并将用户重定向到仪表板页面,但错误在于,当用户登录仪表板时,登录表单仍然可见,并且仪表板的实际内容没有显示 //AppController.php // Pass settings in $components array public $components = array( 'Session', 'Auth' => array( 'loginAction' => ar
//AppController.php
// Pass settings in $components array
public $components = array(
'Session',
'Auth' => array(
'loginAction' => array(
'controller' => 'Admins',
'action' => 'Dashboard',
///'plugin' => 'users'
),
'logoutRedirect' => array(
'controller' => 'Admins',
'action' => 'Login',
),
'authError' => 'Enter correct admin username and password',
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'admin@test.com',
'password' => 'pass')
)
)
)
);
public function beforeFilter(){
//non-logged in users
$allowed = array('Login', 'Logout');
$this->Auth->allow($allowed);
$user = null;
if($this->Session->read('user')){
$user = $this->Session->read('user');
$this->user = $user;
$this->set('user', $user);
$this->redirect(array('controller'=>'Admins', 'action'=>'Dashboard'));
}
}
我没有在表中存储管理员登录信息,因为只需要一个管理员
//Login function in AdminsController.php
public function Login(){
if($this->request->is('post')){
if($this->data['Admins']['username']=='admin@test.com' && $this->data['Admins']['password'] == 'pass'){
$this->Auth->login();
$this->Session->write($this->user, $this->data['Admins']['username']);
$this->Session->setFlash('Welcome Back !');
$this->redirect(array('controller'=>'Admins', 'action'=>'Dashboard'));
}
}
}
public function Dashboard(){
//pr($this->Session->read($user));
//pr($this->user);
//exit;
}
如果需要,请询问更多信息,问题在于ctp文件的显示,它显示的是login.ctp而不是dashboard.ctp您可以显示dashboard功能吗?它是空白的,目前ctp文件中只有一个h2标记。这就是它在不需要的时候显示login.ctp的原因。我说的是控制器中的函数,而不是ctp文件
public function Dashboard(){//pr($this->Session->read($user));//pr($this->user);//exit;}
没有命令显示结果。试试这个,更改函数的命名方式,在第一个字母中使用minimacule。。。我想这就是问题所在。