パスポートのローカル認証を使用して単一ページのアプリケーションを構築しています。ユーザーは認証され、返されますapp.post "/login"
userobject が返された後、私はそれを保存しますChaplin.mediator.user
(facebook-example に見られるように)。URL を手動で変更しない限り、すべて正常に動作しますが、URL を変更して Enter キーを押すと、アプリケーションが再度読み込まれますが、別のルートで --> フロント エンドにユーザーがいません。
私が今行っていることは、ルートを手動で変更するたびに、サーバーにリクエストを送信し、 でユーザーを要求することですreq.user
。ユーザーを受け取った後、アプリケーションはワークフローを続行します。それは機能しますが、これが意図されている方法ではないと思います。応答を待たないと、ログインしていてもユーザー オブジェクトがなくなります。
どうすればこの問題を解決できますか?
編集:ユーザーを別のCookieに保存することになりました。これは私がユーザーを保存する方法です:
$.cookie.json = true;
$.cookie 'user', user.toJSON()
これは、ページが読み込まれた後にユーザーを抽出する方法です。
userCookie = $.cookie 'user'
if userCookie?
mediator.user = new Model JSON.parse userCookie
機能させるにはjquery-cookie プラグインが必要です。ユーザーがログアウトする場合は、Cookie を忘れずに削除してください。そしてもちろん、私はまだ他のアイデアにもオープンです。