gpt4 book ai didi

c# - 从 UI 层抽象 asp.net mvc 标识

转载 作者:太空狗 更新时间:2023-10-29 18:31:44 24 4
gpt4 key购买 nike

我正在构建一个新的 MVC 应用程序。通常我的项目结构都是这样的:

  • DAL 层(实体和存储库
  • 服务层(在 api/前端和 DAL 之间协调的面向业务的服务调用)
  • 前端,这可以是 Web API 或 MVC 应用程序。

我的问题是,我总是以困惑的用户管理实现而告终。我使用了成员(member)资格提供者,因此使该部分不如应有的好。现在我看到了新的 Identity 实现,我真的很喜欢它。我做了一些关于热的搜索以将其抽象到后端,但没有结果。

我找到了这篇关于构建项目的帖子,但没有给出真正的答案:Decoupling ASP.NET MVC 5 Identity to allow implementing a layered application

我希望有人能为我提供一些提示或技术文档如何将所有登录和身份验证抽象到后端层。

最佳答案

您可以在业务层中创建一个非常基本的界面。它看起来像这样:

public interface IAuthenticationService
{
bool VerifyPassword(User user, string password);

bool SignIn(User user);

void SignOut();
}

您可以在业务层、UI 层或单独的基础结构层中使用 ASP.NET Identity 实现此接口(interface)。

这个接口(interface)可以通过不同的技术来实现,这些技术可以在运行时由 IoC 容器注册,例如,您可以只在 AccountController 中使用该接口(interface)。由于身份验证框架往往会经常更改(每年左右),因此您可以更轻松地进行切换。

关于c# - 从 UI 层抽象 asp.net mvc 标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21306557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com