Asp.net Core 2.1-HTTP

时间:2019-07-05 08:45:36

标签: authentication asp.net-core

我在我的应用程序中添加了cookie身份验证

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
            .AddCookie(options =>
            {
                options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
                options.Cookie.SameSite = SameSiteMode.Lax;
                options.Cookie.IsEssential = true;
                options.SlidingExpiration = true;
                options.ExpireTimeSpan = TimeSpan.FromDays(30); 
            });

并在我的登录页面上

   await HttpContext.SignInAsync(principal, new AuthenticationProperties()
                {
                    IsPersistent = true,
                    AllowRefresh = false
                });

在HTTPS协议上它可以正常工作,当我关闭浏览器并重新访问页面后,该网站会记住我的身份验证。

但是在HTTP协议上,我每次都需要重新认证, Cookie似乎无法在http协议上持续存在。

我知道HTTP协议不安全,但是我需要使用HTTP进行调试。 我的代码在哪里不对?

我尝试了

  

options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;

  

options.Cookie.SecurePolicy = CookieSecurePolicy.None;

没有成功。

0 个答案:

没有答案