gpt4 book ai didi

asp.net-mvc - 使用服务层自定义身份验证?

转载 作者:行者123 更新时间:2023-12-02 07:53:49 25 4
gpt4 key购买 nike

我有一个包含 3 个“层”的应用程序,第一个是“数据层”,第二个是“业务层”,第三个是 asp.net mvc 站点。我正在尝试以正确的方式添加表单例份验证。

我应该以某种方式配置它以使用业务层吗?那获取/添加/更新用户是身份验证的一部分?

我应该在哪个项目中添加用户验证?

/M

最佳答案

身份验证应该始终发生在应用程序边界,因为使用相同域模型的不同应用程序可能有不同的身份验证需求。如果您决定将域模型公开为 Web 服务,表单例份验证可能不是最佳身份验证机制。

在 ASP.NET MVC 中,您可以使用 Visual Studio 中的默认项目模板轻松实现用户名/密码身份验证,但是一旦用户通过身份验证,您应该设置 Thread.CurrentPrincipal .

一般来说,IPrincipal是在 .NET 中建模用户上下文的标准基础。例如,HttpContext.User是一个 IPrincipal。

在您的域模型和数据访问模块中,您可以使用 Thread.CurrentPrincipal 来实现授权逻辑。这允许您独立地更改身份验证和授权。

如果您需要在域模型中使用更丰富的用户概念,您可以使用 User class implement IPrincipal .

关于asp.net-mvc - 使用服务层自定义身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2092094/

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