Php 禁用重定向到登录页面,如果未登录Yii,则抛出404
如何在Yii中为某些控制器禁用重定向到登录页,并为非授权用户抛出404(或其他)错误?您可以覆盖主控制器中的Php 禁用重定向到登录页面,如果未登录Yii,则抛出404,php,yii,Php,Yii,如何在Yii中为某些控制器禁用重定向到登录页,并为非授权用户抛出404(或其他)错误?您可以覆盖主控制器中的CController::beforeAction()方法,该方法可在/protected/components/controller.php中找到: class Controller extends CController { public function beforeAction() { // Allow guests to use actions
CController::beforeAction()
方法,该方法可在/protected/components/controller.php中找到:
class Controller extends CController {
public function beforeAction() {
// Allow guests to use actions in SiteController only
if(Yii::app()->user->isGuest && $this->id != "site")
throw new CHttpException(404);
// Optionally include code here if its an authenticated user
return true;
}
确保所有其他控制器都从此控制器扩展。例如:
类PageController扩展控制器{
此外,请确保上述代码中存在&&$this->id!=“site”
,否则用户将无法访问登录页面登录,甚至无法查看主页