yii中登录后跳转回登录前请求的页面

当我们请求一个经过权限控制的请求不通过时,会跳转到一个地方请求权限,请求结束后需要跳转回之前的页面。比如我们请求一个需要登录的action,会被跳转到login页面,我们希望登录成功后跳转到我们之前希望去的action页面。要实现这个,只需要在login之后,执行以下这句即可:

Yii:app()->getRequest()-redirect(Yii::app()->user->getReturnUrl());

为什么呢?因为在请求一个需要登录的aciton的跳转到登录页面之前,yii会把当前请求的url存到user对象的returnUrl属性中,方便后面的跳转。有代码为证(来自Yii源码):

//先遭到CAccessControllFilter拦截,执行它的accessDenied方法

//然后执行CWebUser中的loginRequired方法

上面是yii1的做法:而yii2直接封装了方法

return $this->goBack();

 

posted @ 2016-07-18 16:25  嘎子哥~  阅读(675)  评论(0编辑  收藏  举报