【问题标题】:ASP.NET Identity in Domain Driven Design Architecture领域驱动设计架构中的 ASP.NET 标识
【发布时间】:2014-07-11 05:12:21
【问题描述】:
您好,我正在使用 DDD 开始一个项目。
我想使用 Asp.Net Identity 进行用户身份验证,但 IdentityUser 这与 Asp.net 非常耦合,并且域模型对象不应该有依赖关系。
这让我认为身份验证可能是一个不同的 BoundedContext,它不是使用 DDD 实现的。
我想知道是否有人遇到过同样的情况,以及您认为我可以有哪些选择。
谢谢
【问题讨论】:
标签:
domain-driven-design
asp.net-identity
【解决方案1】:
对我来说,不使用 DDD 就可以实现身份验证。 DDD 方式耗时/昂贵,仅将其用于您的核心域(具有最大业务价值的代码)就可以了。
请记住,如果您想将自己与框架分开,您可以随时将自己隐藏在 Interface 后面。在这种情况下,您的业务层可以使用您的业务层需要的方法声明 IIdentityProvider。然后你可以在你的网站层提供这个提供者 AspIdentityProvider: IIdentityProvider 的具体实现。然后 AspIdentityProvider 可能会被注入到业务层中需要它的类中。