Aro*_*eel 5 php authentication redirect zend-framework
我使用一个简单的Zend_Auth设置来验证我的一个应用程序的用户,使用控制器插件中的preDispatch()方法检查.当匿名用户导航到
/users/view/id/6
Run Code Online (Sandbox Code Playgroud)
例如,他们应该在身份验证后重定向到上面的URI.
做这个的最好方式是什么?我宁愿不在$_SERVER['REQUEST_URI']
会议中存储.就个人而言,我发现将整个Zend Request对象存储到最干净的解决方案,但我不确定这是否合理,如果这是我应该采取的方法.
有什么想法吗?
重定向或转发到 LoginController 可能不是将未经身份验证的用户带到登录页面的最佳方式。相反,在 preDispatch 中,您可以获取 $request 对象并通过执行以下操作来更改它。
$request->setActionName('someaction');
$request->setControllerName('somecontroller');
Run Code Online (Sandbox Code Playgroud)
此时,您的原始请求已得到维护,但页面正在显示登录页面。然后,您可以更改登录控制器以检查当前请求位置是登录控制器还是其他位置。如果成功登录后是其他内容(原始请求),请将其发送到该页面。