ajaxポップアップである送信ページがあります。ユーザーがログインしていない場合は、モーダルログイン/サインアップダイアログがポップアップ表示されます。ログインすると、参照が何であったかを記憶していないため、メインページに移動します(実際の送信ページではなく、ログインページとしてトリガーされたため)。
そのリダイレクトURLをセッションに保存して、ログインに成功したときに、自分の適切なページにリダイレクトできるようにすることを考えていbeforeFilter()
ます...
私はこのようなことを考えていました(疑似):
public function submit() {
if (!$this->Auth->login()) {
$this->Session->set('Auth.redirect', '/submit');
}
}
次に、beforeFilterで、ログイン時に存在するかどうかを確認します。存在する場合は、セッションを削除して、そのURLにリダイレクトしますか?
これを処理するためのより良い方法はありますか、それとも私の合法ですか?
私のbeforeFilter:
public function beforeFilter() {
$this->Auth->loginRedirect = array('controller' => '', 'action' => 'login');
$this->Auth->allow(
'Search',
'loginSignUpPrompt'
);
}