Как отключить проверку токена подделки в ASP.NET MVC Core 2 - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь избежать проверки «AntiForgery», так как она всегда дает сбой при размещении на стороннем сервере.Я использую приложение ASP.NET Core 2.0 MVC.

Я добавил эту опцию в функцию ConfigureServices:

services
    .AddMvc()
    .AddRazorPagesOptions( options =>
    {
        options.Conventions.AuthorizeFolder("/Account/Manage");
        options.Conventions.AuthorizePage("/Account/Logout");
        options.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
    } );

Но все же я получаю это исключение.

System.InvalidOperationException: не удалось расшифровать маркер защиты от подделки.
System.Security.Cryptography.CryptographicException: ключ {6fb328e7-4808-4b5d-b7dc-870d126e5ca4} не найден в кольце ключей.

1011. * 1011. *1011*

Я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Добавьте атрибут IgnoreAntiforgeryToken (Заказ должен> 1000) к модели страницы бритвы:

Например:

namespace CWACpch.Pages
{
    [IgnoreAntiforgeryToken(Order = 2000)]
    public class CreateOrderModel : PageModel
    {
0 голосов
/ 21 мая 2018

Насколько я понимаю, вам не нужно ничего отключать.По умолчанию, если вы используете asp net tag helper для создания элемента формы, будет добавлен токен защиты от подделки

Вы можете проверить токен защиты от подделки с помощью аннотации [ValidateAntiforgeryToken] в методе действия или глобально определить конфигурацию для ValidateAntiforgeryTokenчто заставит систему попытаться проверить токен защиты от подделки

Если вы не настроили систему, как уже упоминалось, система не будет проверять токен защиты от подделки и не будет проблемой для вашей ситуации

...