我希望将未经身份验证的请求转发到ZfcUser登录操作,然后在成功登录后重定向到原始请求。
我在我的控制器操作中有这段代码;
// Check we are logged in.
if (!$this->zfcUserAuthentication()->hasIdentity()) {
// Set the 'redirect' parameter
$redirect = $this->getRequest()->getRequestUri();
$this->getRequest()->getQuery()->set('redirect', $redirect);
// Forward request to zfcUser's login action.
return $this->forward()->dispatch('zfcuser', array(
'action' => 'login'
));
}我已经在ZfcUser配置中取消了这一行的注释;
'use_redirect_parameter_if_present' => true,它会转发到保留原始url的ZfcUser登录操作,但在登录后不会重定向回原始请求的页面。
有什么想法可能是错误的吗?
发布于 2015-04-04 16:25:58
请注意,您必须将路由作为重定向参数传递,而不是URI。如果您想使用URL,请查看此模块:https://github.com/Eye4web/E4WZfcUserRedirectUrl
发布于 2015-04-05 00:14:55
我用我自己的视图覆盖了默认视图。在我看来,我错过了重定向隐藏表单元素。
添加隐藏的重定向表单元素解决了重定向问题。
我也在使用旧版本的ZfcUser,我相信这个功能在不同的版本之间可能会有所不同。
https://stackoverflow.com/questions/29440994
复制相似问题