asp.net-mvc - 在我们使用 JWT token 的情况下,Asp.net 核心中的 session 和应用程序变量(因此没有基于 cookie 的 session )

标签 asp.net-mvc asp.net-core .net-core jwt identityserver4

我们正在使用从 IdentityServer 生成的 JWT token 身份验证。我想知道在调用各种 Controller 操作时执行 session 变量(和应用程序范围变量)的相同功能的正确方法是什么。例如,我应该将这些变量存储在 InMemory 缓存中吗?

例如:我正在将文件上传到 Controller 操作,我需要一些其他 Controller 操作来报告该文件上传了多少,因此这两个操作需要有一个公共(public)变量来报告该文件上传进度......

谢谢 ...

最佳答案

Application Session 和 Authentication Session 是不同的概念。应用程序 session 对于这种情况仍然是可行的。但是,您需要确保在上传请求之前在响应中发送 session cookie,以便上传和状态请求可以正确关联。您还必须定期提交 session 状态,以便状态请求可以读取它,它们不共享相同数据的实时副本。

或者您使用内存缓存并为每个上传提供一个唯一的 id(在上传之前)。这与 session 的工作方式几乎相同。

关于asp.net-mvc - 在我们使用 JWT token 的情况下,Asp.net 核心中的 session 和应用程序变量(因此没有基于 cookie 的 session ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427817/

相关文章:

asp.net-mvc - 是否可以在自定义 AuthorizeAttribute 类中使用 RedirectToAction() ?

c# - 当中间件管道尚未完成时,如何将响应 header 发送到客户端?

c# - 在 ASP.Net Core 2.1 MVC 中只接受本地请求

c# - 为什么在实现隐式转换时 C# 记录会产生不同的 Linq 表达式?

c# - 在两个ViewModels Knockoutjs之间共享ko.compute

c# - asp.net MVC 4 模型 [Key] 属性无法识别

asp.net-core - Blazor 中的@{} @code{} 和 @function{} 有什么区别?

azure - 什么类型的 Azure 应用服务来托管网络核心控制台应用程序?

c# - 如何在 Web Api 中访问用户身份

c# - 如何在 ASP.NET Core 中对 ViewBag 进行单元测试?