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();