我有一个提交页面,它是一个 ajax 弹出窗口。如果用户没有登录,它会为他们弹出一个模式登录/注册对话框。登录后,他们将被定向到主页,因为它不记得引用是什么(因为所有这些都是作为登录页面触发的,而不是实际的提交页面)。
我正在考虑可能在会话中保存该重定向 url,这样当他们成功登录时,我可以将它们重定向到我beforeFilter()
或其他东西中的适当页面......
我在想这样的事情(伪):
public function submit() {
if (!$this->Auth->login()) {
$this->Session->set('Auth.redirect', '/submit');
}
}
然后在我的 beforeFilter 中检查他们登录时是否存在,如果存在,删除 Session 并将它们重定向到该 url?
有没有更好的方法来处理这个问题还是我的合法?
我的前置过滤器:
public function beforeFilter() {
$this->Auth->loginRedirect = array('controller' => '', 'action' => 'login');
$this->Auth->allow(
'Search',
'loginSignUpPrompt'
);
}