gpt4 book ai didi

asp.net-mvc - 使用自定义身份验证提供程序/服务的 ASP.Net 身份

转载 作者:行者123 更新时间:2023-12-04 02:17:13 27 4
gpt4 key购买 nike

我目前正在开发一个需要用户名和密码身份验证的 ASP.Net MVC Web 应用程序。我开始考虑为此使用 ASP.Net Identity,但是我有一个非常重要的要求,要求是 Web 应用程序本身不能直接访问任何数据库,所有 DB 访问都将通过内部 REST 服务公开给应用程序.这是由于我们遵循某些安全政策。

我意识到 ASP.Net 身份能够支持外部身份验证方法,但我的问题分为两部分。

1) 如何配置 ASP.Net Identity 以使用我的自定义 REST 服务进行身份验证?

2) 我将如何开发可被 Identity 用于身份验证的服务? (需要从服务返回到 ASP.Net Identity 的内容)

对此的任何帮助将不胜感激。

最佳答案

我只是做了你问的。首先,正如 FPar 建议的那样,您需要实现一个 IUserStore 并将其传递给您的 UserManager。您的自定义 IUserStore 将实现该接口(interface),我使用 Resharper 生成 stub ,但您将使用 HttpClient 来调用您的 REST 服务,而不是使用 Entity Framework 。

对于您实际需要的每个接口(interface)方法,REST 服务将在一个 Controller 上执行一个操作,我将其称为我的 identityController。我实现了 userstore、userloginstore 和 rolestore,其中包含我实际使用的大约 10 个调用的代码。身份 Controller 是实际访问数据库的对象。

我还保留了完全异步模式,使用异步 REST 调用和数据库外观,无论有没有 Entity Framework 。关于 IUserLoginStore::AddLoginAsync 的另一个问题是我的数据访问代码的缩短版本。在那个类(class)中,我实际上使用了用户存储的原始 Entity Framework 实现来完成部分工作,并最终选择了普通的(异步除外)ado.net 来处理我无法以这种方式工作的部分。这些表很简单,使用您选择的 ORM 不会花费很多时间。

祝你好运!

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

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