【发布时间】:2013-01-18 22:12:42
【问题描述】:
我有一个 MVC 4 应用程序,它使用不同类库中的服务层。
对该服务层的一些调用需要知道哪个用户在请求数据。
数据记录因用户角色而异。
为了防止耦合问题,我应该在请求中传递用户名 (HttpContext.User.Identity.Name) 还是应该使用相同的 HttpContext.User.Identity 在服务层直接访问它.名称。
我不确定是否应该从服务层隐藏 HttpContext。
【问题讨论】:
-
用户的身份和访问权限应该由单独的服务管理。我只是将这样的 识别服务 作为需要与授权/身份验证机制交互的其他服务的依赖项传递。特别是因为您可能需要在所述服务中进行基于角色的授权检查。
标签: asp.net-mvc model-view-controller asp.net-mvc-4 separation-of-concerns service-layer