クライアントサイドに角2の.NETコアWeb APIアプリケーションがあります。 Startup.cs
で次のオプションを持つ
Iセットアップ.NETのコアアイデンティティ:.NET Core Identityは静的ファイルの認証Cookieをリフレッシュせず、500のエラーをスローする
options.Password.RequiredLength = 5;
options.Password.RequireDigit = false;
options.Password.RequireLowercase = false;
options.Password.RequireUppercase = false;
options.Password.RequireNonAlphanumeric = false;
options.SecurityStampValidationInterval = TimeSpan.FromMinutes(1);
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
options.Lockout.MaxFailedAccessAttempts = 100;
options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromDays(14);
options.Cookies.ApplicationCookie.LoginPath = "/api/signin/signin";
options.Cookies.ApplicationCookie.LogoutPath = "/api/signin/signout";
options.User.RequireUniqueEmail = false;
ので、
ユーザーがログインしている - 認証クッキーが設定されています。
60秒後に - API/*エンドポイントへの呼び出しは、新しい値にこのクッキーを更新..呼び出しが動作するよう
しかしファイルはクッキーを更新しないHTML/JSへの呼び出し彼らは今セッションに結び付けられていないおそらく以前のクッキーを使用し続けます。それは何かできないのでというエラーが発生することを意味します。
はどのAPI/*エンドポイントは、クッキーを更新し、HTML/JSファイルが再び動作ロード。
つまり、短く言えば、認証Cookieがすべての静的コンテンツに対してリフレッシュされていないことが原因です。また、ユーザーがログアウトしたときにクッキーがなくても正常に動作します。
どうすれば修正できますか?前もって感謝します。
私は理解できません、なぜ組み込みのフォルダ "wwwroot"が必要ですか?権限のないアプリの場合私は、静的ファイルは常にクッキーやその他のものを変更することなく動作したい。 –
これは、ファイル用の組み込みフォルダです。 ASP.NETチームは、デフォルトで静的ファイルが承認された要求を必要としないという決定を下しました。 – VMAtm
さて、なぜ静的ファイルは認証で動作しないのですか? Cookieが変更されても静的ファイルにアクセスするのではなく、500エラーが表示されるのはなぜですか? –