如何访问服务层中的用户数据



我正在构建一个具有以下层的Asp.Net Core后端:

  1. Api层
  2. 数据访问层
  3. 服务层

服务层需要根据用户及其权限筛选结果。根据几篇文章,在服务层内通过HttpContext访问用户不是一个好主意,因为它应该独立于表示层。我看到的唯一替代方案是将当前用户放入api控制器,并将其传递给服务层。这是唯一的方法吗?我认为总是将用户传递到服务层是相当乏味的。我希望能对此事有一些想法。

您确实希望在api控制器(表示层(中获取用户数据,并将其传递到服务层。它不仅可以使您的服务独立于HTTP上下文,还可以极大地提高代码的可测试性。

这将允许您在异步上下文中使用服务,甚至将其推送到单独的容器/服务器中。

从HTTPContext中获取内容在现代相当于全局变量。实用的对有毒的对最终会让你的应用程序变成一个泥球吗?对坚持使用体系结构是保持程序整洁和无聊的方法。无聊的代码就是好代码。解决难题,而不是硬代码。

相关内容

最新更新