如果用户session 过期 提交评论 而postController.php 中的actrionCreate方法要求用户必须登入
因为我是ajax 提交
能不能 “验证后 没有access 权限时, postController。php就指定到一个函数来处理ajax结果 ”
而不是redirect到login 页面????
如果用户session 过期 提交评论 而postController.php 中的actrionCreate方法要求用户必须登入
因为我是ajax 提交
能不能 “验证后 没有access 权限时, postController。php就指定到一个函数来处理ajax结果 ”
而不是redirect到login 页面????
如果是通过filter判断权限,只需要在相应的filter里判断一下提交类型,如果是ajax的提交类型,则不跳转,返回一个特殊的标志来代表未登录。前端则对返回结果进行判断,如果返回是未登录的标志,则弹出登陆框。后面就按操作流程走了。
public function filters()
{
return array(
'accessControl', // perform access control for CRUD operations
);
}
能拿到filter 还能写逻辑么 ???
重构CAccessControlFilter的accessDenied方法
protected function accessDenied($user,$message,$errorCode)
{
//只有请求为非ajax请求的时,才能跳转到登录页面
if( $user->getIsGuest() &&
!Yii::app()->request->isAjaxRequest &&
(!Yii::app()->getController()||!Yii::app()->getController()->isAjaxAction())
)
$user->loginRequired();
else
throw new CException($message,$errorCode);
}
多谢