私はここで立ち往生しています-これを回避するためのハックを書くことができますが、これを行う適切な方法があるかどうか疑問に思っていました。
Zend ACLを使用して、保護され、認証が必要なページを指定しています。たとえば、「UploadVideo.php」が保護されたページである場合(ユーザーがリンクをクリックしてそのページにアクセスすると)、ログインページに移動し、ログイン後にUploadVideo.phpページにリダイレクトされます。したがって、これはすべて処理され、正常に機能します。
今、この別のページに-「投票」ボタンのようなものがあります。ユーザーは、ログインしている場合にのみ投票できます。
ケース1ユーザーがログインしているとき-彼は投票ボタンをクリックします-私はJqueryを使用してアクションを次のように呼び出しています:
$.post('/video/vote', {video_id:video_id}, function(data) {
if(data=="OK") .....
}
これで/ video /voteは保護されたリソースであり、ユーザーがログインしているので-投票アクションが呼び出されますこれにより、投票数が増え、「OK」メッセージが返され、ページは新しい投票数で動的に更新されます。
ケース2ユーザーがログインしていない-投票ボタンをクリックする-ページが保護されているため-ログインページは変数「data」のajax呼び出しを通じて返される理想的には、ユーザーがログインしていない場合-ajax呼び出しは発生しない-ユーザーはログインページにリダイレクトされる必要があります-ログイン後、投票数を増やす/ video/voteアクションにリダイレクトされます-そして最後に投票ボタンでページに送り返されます
これをどのように処理しますか。私はいくつかのハックを書いて、ユーザーがログインしているかどうかを確認し、それに応じてajax呼び出しを行うか、ユーザーをリダイレクトするかを決定できますが、これが最善の方法です。
問題を明確に説明したかどうかはわかりません。
御時間ありがとうございます