タグ付けされた質問 「membership-provider」

10
偽造防止トークンはユーザー「」を対象としていますが、現在のユーザーは「ユーザー名」です
1ページのアプリケーションを構築していて、偽造防止トークンに関する問題が発生しています。 問題が発生する理由はわかっていますが、修正方法がわかりません。 次の場合にエラーが発生します。 ログインしていないユーザーがダイアログをロードします(生成された偽造防止トークンを使用) ユーザーがダイアログを閉じる ユーザーがログイン ユーザーが同じダイアログを開く ユーザーがダイアログでフォームを送信する 偽造防止トークンはユーザー「」を対象としていますが、現在のユーザーは「ユーザー名」です これが発生する理由は、私のアプリケーションが100%単一ページであり、ユーザーがajax投稿を介してに正常にログインしたときに/Account/JsonLogin、サーバーから返された「認証済みビュー」で現在のビューを切り替えるだけですが、ページ。 手順3と4の間にページを単純に再読み込みするとエラーが発生しないため、これが理由であることはわかっています。 したがって@Html.AntiForgeryToken()、ロードされたフォームでは、ページがリロードされるまで、古いユーザーのトークンが返されるようです。 @Html.AntiForgeryToken()認証された新しいユーザーのトークンを返すように変更するにはどうすればよいですか? 実際に呼び出されるときまでにGenericalPrincipalカスタムIIdentityで新しいを注入しますが、実際には、プロパティがtrueに設定されたカスタムID ですが、ページの再読み込みを行わない限り、古いユーザーのトークンをレンダリングしているようです。Application_AuthenticateRequest@Html.AntiForgeryToken()HttpContext.Current.User.IdentityIsAuthenticated@Html.AntiForgeryToken
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.