在Startup.cs文件中的ConfigureServices方法中添加以下内容:
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30); //设置Session超时时间
});
在Startup.cs文件中的Configure方法中添加以下代码:
app.UseSession();
在登录控制器中,将用户登录信息存储进Session:
HttpContext.Session.SetString("UserName", "User1");
在控制器中添加以下代码:
public IActionResult Index()
{
var userName = HttpContext.Session.GetString("UserName");
if(userName == null)
{
return RedirectToAction("Login", "Account");
}
else
{
//执行业务逻辑
}
}
这样当用户在不同的浏览器登录时,后一次登录会重置Session中的用户登录信息,从而使之前的登录失效,并且用户会被重定向至登录页面。