【问题标题】:Redirect when authentication timeout身份验证超时时重定向
【发布时间】:2020-11-09 09:17:20
【问题描述】:

所以我希望我的应用程序在身份验证超时后自动重定向到登录页面。 我正在使用 mvc 核心,当用户登录时,我正在设置身份验证 cookie

        services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
            .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>
            {
                //options.SlidingExpiration = true;
                options.LoginPath = "/Authentication";
                options.LogoutPath = "/Authentication";
                options.AccessDeniedPath = "/Authentication/Denied";
                options.ExpireTimeSpan = new TimeSpan(0, 1, 0);
                options.SlidingExpiration = false;
            });

加上 Authorize 属性,当超时时我被重定向到登录页面如果我点击一个具有该属性的元素。

我也希望自动重定向,例如,如果我在表单上并且空闲时间过长然后被重定向,而不是等待用户点击正确的位置。

我读过一些关于会话超时的帖子,但我没有找到任何解释会话 cookie 和身份验证 cookie 之间区别的内容。

【问题讨论】:

    标签: c# asp.net-core authentication model-view-controller


    【解决方案1】:

    最好的办法是编写一个中间件函数,在完成请求之前检查身份验证令牌,这将是解决此问题的一种快速而干净的方法。

    在完成任何请求之前,编写一个“isAuthenticated”函数。另一种方法是不断跟踪令牌用完之前的剩余时间,与每个请求的中间件函数相比,这将是低效的。

    【讨论】:

    • 我想我同意你的观点,但这已经是行为了,我所有的表单都调用了具有 Authorize 属性的控制器上的方法,所以我将在单击时重定向到登录页面。我希望可能是某种可以触发的事件或类似的东西
    猜你喜欢
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2017-09-11
    • 2019-11-13
    • 2021-05-19
    • 1970-01-01
    相关资源
    最近更新 更多