这可能是由于身份验证中间件配置不当或Session配置不充分引起的。以下是一些可能的
确保身份验证中间件已正确配置。在Startup.cs文件中,EnsureAuthenticated中间件需要在UseAuthentication和UseAuthorization之前调用。
检查CookieAuthenticationOptions的有效负载大小是否超过了服务器支持的大小。如果是,则需要将有效负载大小更改为服务器支持的大小。例如:
services.Configure
将Session配置为使用不同的存储机制。例如,如果使用内存,则应使用分布式内存,如底层Redis,该存储可以让您设置会话的过期时间,并且可以更可靠地处理多个Web服务器或负载平衡器。
services.AddDistributedMemoryCache();
services.AddSession(options => { options.IdleTimeout = TimeSpan.FromMinutes(30); options.Cookie.HttpOnly = true; options.Cookie.IsEssential = true; });
注意:对于生产环境,请不要使用分布式内存,应将其替换为SQL服务器或NoSQL数据库。
通过以上方法,您应该可以解决ASP.NET Core 6 MVC应用程序中登录成功后仍然被重定向到登录页面的问题。