企业架构:通过WebAPI的MVC身份

时间:2015-03-03 16:19:12

标签: asp.net-web-api asp.net-mvc-5 entity-framework-6 asp.net-identity-2

这比实际应用更具理论性,但从我的研究来看,企业架构有很多层次,对我来说都很有意义,但实际应用这些层是我遇到麻烦的地方。

如果我实现服务层,我是否可以使用该服务层通过WebAPI执行身份验证和授权?如果是这样,这是如何工作的?从我到目前为止,我有一个表示层,应该调用我的服务层来调用我的控制器服务,该服务将验证用户。这是否有效,是否推荐?也许我正在思考这个问题,但如果我在表示层保留身份验证,代码将直接或通过我的业务层连接到数据库,这意味着应用程序将使用两种方法与数据库进行通信,我认为这打破了目的建筑本身。

任何人都遵循此并在此之前实施此操作?

更新
所以我相信我的问题格格不入。我想要做的是在企业应用程序中实现Microsoft的以下技术,我似乎无法将它们分离,以便它们独立工作(单独的程序集):

  • Microsoft ASP.Net MVC 5(Razor Views)
  • Microsoft Entity Framework 6(代码优先+数据库迁移)
  • Microsoft ASP.Net WebAPI服务(虽然我不知道何时使用它们)
  • Microsoft ASP.Net Identity 2.0

我有几个问题。解决方案中的业务层应包含我的所有类,这些类执行完成任务所需的工作。如果我没有弄错的话,我的UI层(MVC)应该从控制器调用我的业务层(如果我错了,请纠正我)。我的业务层应该与我的数据访问层进行通信,我假设它应该包含我的DbContext(如果我错了,请更正我)。所以,这个层还必须包含Identity(NuGet包),所以我的DbContext可以从IdentityDbContext继承(或者它需要?)。现在,在我的UI层(MVC)中,我需要允许用户进行身份验证。这是我被困的地方。我可以创建一个简单的示例,但是当我尝试将单独的Identity层分离到我的单独项目(Domain,DataAccess,Business,UI)时,我有编码器阻塞。

0 个答案:

没有答案