gpt4 book ai didi

asp.net-mvc - “Back”按钮和防伪 token

转载 作者:行者123 更新时间:2023-12-03 11:45:39 24 4
gpt4 key购买 nike

我正在获取与anti-forgery属性相关的Runtime error

执行以下步骤:

  • 创建MVC Web应用程序并启动
  • 注册 joe@acme.org
  • 注销
  • 注册 jane@acme.org
  • 注销
  • joe@acme.org登录
  • 点击后退按钮
  • jane@acme.org登录

  • 错误: The provided anti-forgery token was meant for a different claims-based user than the current user.
    可以采取什么措施来防止发生此错误?

    最佳答案

    这是一种忽略错误并使用户返回登录屏幕的方式。这只是一个例子。

    创建一个名为HandleAntiforgeryTokenErrorAttribute的新类,该类继承自HandleErrorAttribute。覆盖OnException方法。

    public class HandleAntiforgeryTokenErrorAttribute : HandleErrorAttribute
    {
    public override void OnException(ExceptionContext filterContext)
    {
    filterContext.ExceptionHandled = true;
    filterContext.Result = new RedirectToRouteResult(
    new RouteValueDictionary(new { action = "Login", controller = "Account" }));
    }
    }

    转到 FilterConfig类并将该属性注册为全局过滤器。
    public class FilterConfig
    {
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
    filters.Add(new HandleErrorAttribute());
    filters.Add(new HandleAntiforgeryTokenErrorAttribute()
    { ExceptionType = typeof(HttpAntiForgeryException) }
    );
    }
    }

    关于asp.net-mvc - “Back”按钮和防伪 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24376800/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com