【发布时间】:2019-11-17 22:45:56
【问题描述】:
我已经在 Net Core 2.1 中构建了 REST API
项目分为Assemblies:
- APIREST(包括控制器)
- MODULES(包含逻辑和存储库的模块)
我可以在模块中正确使用HTTPContext来下载JWT中保存的UserId吗?
对数据库的查询需要查询上的令牌中有关 UserId 的信息
我知道当我在控制器代码的范围内调用时,我会得到正确的值,但我也会在不同类的另一个程序集中得到它吗?
当查询范围结束时,HTTPContext内容是否被移除?
【问题讨论】:
-
为什么业务逻辑模块需要知道它是在 HTTP 上下文中运行的?为什么要将 HttpContext 注入业务逻辑类,只是为了让该类提取 JWT 并将其解析为 UserId?为什么不将 UserId 从控制器传递到业务逻辑?另外,请阅读How to Ask 并分享您的研究。
-
@CodeCaster 目前,我通过直接从控制器为其准备的函数将 UserId 发送到存储库。我想知道我是否可以跳过这个并直接在模块中从 HTTPContext 下载 UserId
-
在业务逻辑类中注入userid参数不是更简单吗?
标签: c# asp.net-core .net-core