1

バックボーン オン レールで記述されたシングルページ アプリに HTML5 キャッシュを追加した後、問題が発生しました。ブラウザ (クロム) が html をリロードしないため、次の 2 つの方法で問題が発生します。

1) バックボーンのスケルトン html は時々変更されます - 少なくともユーザーがサインインしていることをバックボーンに知らせるためです。ただし、html がロードされていないため、アプリはそれを認識しません (たとえば、更新後)。ページの読み込み時にサーバーにクエリを実行することもできましたが、それは回避したかった別の要求です。また、これにより、すべての権限ロジックがクライアントに強制的に移動されるため、サーバーから cancan 設定を複製するか、html に埋め込むかのいずれかになり、上記の問題が発生します。

2) Rails の csrf トークンは html にあり、それらも変更されないため、ajax の投稿が機能しません。これについては、どうすればよいかわかりません。私が読んだことから、csrfトークンはセッション用に生成されるので、ログイン/ログアウト時にjsで更新できるかもしれません。しかし、どこで入手できますか?

4

1 に答える 1

0

この質問は古いことは知っていますが、CSRFの問題に遭遇しました。

CSRF トークンをコメントとしてマニフェスト ファイルに含めてみてください。そのため、変更されるたびにマニフェストが変更され、リロードが強制されます。

CACHE MANIFEST
# include CSRF token in manifest to force reload when it changes
# <%= form_authenticity_token %>

安全のために、ハッシュアルゴリズムを数回実行できます

于 2013-09-06T15:56:14.610 に答える