这比实际应用更具理论性,但从我的研究来看,企业架构有很多层次,对我来说都很有意义,但实际应用这些层是我遇到麻烦的地方。
如果我实现服务层,我是否可以使用该服务层通过WebAPI执行身份验证和授权?如果是这样,这是如何工作的?从我到目前为止,我有一个表示层,应该调用我的服务层来调用我的控制器服务,该服务将验证用户。这是否有效,是否推荐?也许我正在思考这个问题,但如果我在表示层保留身份验证,代码将直接或通过我的业务层连接到数据库,这意味着应用程序将使用两种方法与数据库进行通信,我认为这打破了目的建筑本身。
任何人都遵循此并在此之前实施此操作?
更新
所以我相信我的问题格格不入。我想要做的是在企业应用程序中实现Microsoft的以下技术,我似乎无法将它们分离,以便它们独立工作(单独的程序集):
我有几个问题。解决方案中的业务层应包含我的所有类,这些类执行完成任务所需的工作。如果我没有弄错的话,我的UI层(MVC)应该从控制器调用我的业务层(如果我错了,请纠正我)。我的业务层应该与我的数据访问层进行通信,我假设它应该包含我的DbContext(如果我错了,请更正我)。所以,这个层还必须包含Identity(NuGet包),所以我的DbContext可以从IdentityDbContext继承(或者它需要?)。现在,在我的UI层(MVC)中,我需要允许用户进行身份验证。这是我被困的地方。我可以创建一个简单的示例,但是当我尝试将单独的Identity层分离到我的单独项目(Domain,DataAccess,Business,UI)时,我有编码器阻塞。