Angular 和 ASP.NET 中的会话管理

Session management in Angular and ASP.NET

所以我正在尝试学习如何使用会话来存储有关已登录用户的信息。我的后端使用 .net 核心,前端使用 Angular,我有 2 个主要问题

1> 因此,当我使用 HttpContext.Session.SetString("key", "value"); 创建会话变量时,它会自动将会话 ID 存储在浏览器中,还是需要我手动执行?我如何确保会话 ID 与请求一起出现?

2> 如何从中间件访问会话 ID 以使用它获取特定用户的信息?例如,如果某些页面只有管理员可以访问,并且会话需要显示用户是管理员,我将如何在中间件中实现它?

我尝试在 google 上进行搜索,但搜索到的只是 JWT,但我想在其上使用会话。对不起,菜鸟问题。感谢任何帮助。

通过使用以下代码,您可以在 angular

中设置会话和本地存储
localStorage.set("id",2);
sessionStorage.set("id",2);

通过使用以下代码,您可以在 angular

中获取会话和本地存储
localStorage.get("id")
sessionStorage.get("id");```

使用代码 HttpContext.Session.SetString("key", "value"); 会话将被创建并与浏览器相关联,您不需要任何其他操作。

您可以通过 HttpContext 访问会话 - 它将在启动时注入 class 并通过这样的构造函数访问 public async Task InvokeAsync(HttpContext context)

并且在启动 class 中,您可以添加以下代码 services.AddHttpContextAccessor() 这将帮助您将 HTTP 上下文注入中间件。