私のASP.Net MVCのコアアプリケーションを復号化することができませんでした以下のようなAntiforgeryミドルウェア追加しました:ASP.NETコアにAntiforgeryを使用してエラーを得た - antiforgeryトークンは、
startup.cs
services.AddMvc();
services.AddSession();
services.AddCaching();
services.AddSession(o =>
{
o.IdleTimeout = TimeSpan.FromMinutes(120);
});
services.AddAntiforgery();
を
私はビューとコントローラ
ビューで下に追加しました:
<form action="/Home/Login" method="post" id="staff-login" autocomplete="off">
@Html.AntiForgeryToken()
......
コントローラ
[HttpPost, ValidateAntiForgeryToken]
public IActionResult Login(IFormCollection formCollection)
{...}
問題は、ユーザーがさまざまな形式に遭遇したときに、ユーザーが常に下に取得することです。
System.InvalidOperationException:偽造防止トークンを に復号化できませんでした。 ---> System.Security.Cryptography.CryptographicException: キーリングにキー{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}が見つかりませんでした。
私は、web.config内の検証/復号化キーの静的なペアを設定することを示唆している解決策が見つかりましたが、このソリューションは古典的なasp.netアプリケーションのみです。 ASP.Netコアではどうすればよいですか?
この説明を確認してください:https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/default-settings。同じキー値を再利用する必要があります(キーを特定のディレクトリパスに保存する)。 –