当我点击导航栏上的录取下的Enroll Now
按钮时,应显示\merry_flowers\views\students\add.ctp
。
而是显示登录页面。
有谁知道我做错了什么?
以下是该项目的app_controller.php
:
class AppController extends Controller {
var $components=array('Auth','Session','Cookie');
function beforeFilter(){
if (isset($this->Auth)){
$this->Auth->userModel='MerryParent';
$this->Auth->loginAction=array('controller'=>'merry_parents','action'=>'login');
//var_dump($this->data);
$this->Auth->allow('*');
$this->Auth->loginRedirect=array('controller'=>'merry_parents','action'=>'report_card');
$this->Auth->logoutRedirect=array('controller'=>'merry_parents','action'=>'register');
$this->Auth->deny('report_card');
$this->Auth->authorize='controller';
}
else
$this->Session->setFlash('Auth has not been set');
}
function isAuthorized(){
return true;
}
非常感谢任何帮助。
答案 0 :(得分:2)
如果您的StudentsController
有beforeFilter
,则需要致电parent::beforeFilter
或者不会发生Auth设置。
我还注意到使用authorize = 'controller'
的{{3}}; “请记住,在您已经针对用户模型进行基本身份验证检查后,将检查[isAuthorized]。”鉴于你有$this->Auth->allow('*')
,应该完全跳过auth,所以我会寻找一个更基本的错误,例如beforeFilter覆盖。
遗憾的是,您粘贴的代码中没有任何突出显示。根据我的经验,Auth问题通常涉及facepalm解决方案:)