在DDD中公开ASP.NET身份服务

时间:2015-07-02 17:48:23

标签: entity-framework asp.net-mvc-5 domain-driven-design asp.net-identity

我们正在开发使用ASP.NET MVC,C#和EF6开发的基于 DDD 的应用程序。已经决定使用ASP.NET身份服务实现身份验证和授权......我对此有一些疑问

  • 认证/授权服务在哪个类别下。是应用程序,域还是基础设施服务

  • 我的理解是我们应该为身份验证/授权创建一个单独的DBContext。我的理解是否正确

任何人都可以指导我做一个好的示例实现

2 个答案:

答案 0 :(得分:1)

  1. 我说它是应用层,虽然这是有争议的,它有什么区别?不要进入Architecture Austronancy而只是这样做。 Auth可以是域的一部分("只有具有更新权限的用户可以更改产品详细信息和#34;等),但它可能无关紧要。

  2. 是的,你可以单独使用DbContext,但是你不必这样做。我们曾经在一个大型环境中拥有所有这些,但事实证明这太过困难了,我们现在将DbContexts分成片,包括Identity DbContext。

答案 1 :(得分:1)

我猜测用户管理是一个不同的有界上下文,并且使用Authentication&一些框架在所有其他有界环境中的授权机制将是基础设施的责任。

当然,在驱逐某些域逻辑之前,您应该有一个应用程序服务接口来验证用户身份。 该接口实现将在基础结构(ASP.NET身份服务)