【问题标题】:Identity Core with Entity Framework 6带有实体框架 6 的身份核心
【发布时间】:2017-08-09 03:58:06
【问题描述】:

我们想开发一个新的 ASP.NET Web 应用程序,如果可能的话,我们想采用 ASP.NET Core。这个愿望的原因之一是,我们爱上了 ASP.NET Core Identity。但一个问题是,Identity 依赖于 Entity Framework,而 Entity Framework Core 仍然有一些我们需要的未实现的功能(@987654321 @)。

我发现了一篇文章,其中作者提供了将 Entity Framework 6 与 ASP.NET Core 结合使用的可能性 (https://docs.microsoft.com/en-us/aspnet/core/data/entity-framework-6)。使用 EF 6 和 ASP.NET Core 的推荐方法是,创建一个针对 .NET Framework 4.6.something 的新 dll 并将所有 EF 内容放入其中。由于这种方法是我们一般的数据处理计划,身份数据也需要以某种方式访问​​。并且有许多用于身份的专用 EF 函数(例如 AspNetCore.Identiy.EntityFrameworkCore),使授权/身份验证变得更好、更容易、更快、更方便——无论怎样。

但是使用不同的框架(或者更糟糕的是一个框架的不同版本)来访问同一个数据库,或者在两个不同的地方使用不同的技术两次访问相同的数据,并不是我们想的那种一劳永逸的事情.

可能我完全被难住了,这很清楚,但我现在还没有一个干净的方法或可接受的方法来解决这个问题。

有什么想法吗?

【问题讨论】:

    标签: c# entity-framework asp.net-core asp.net-identity .net-core


    【解决方案1】:

    如果我是你,我会看看 Brock Allen 的 IdentityServer4。这里https://github.com/IdentityServer/IdentityServer4 和这里http://docs.identityserver.io/en/release/ 用于文档。

    您甚至会在 msdn 网站上找到一些推荐它的博客。 https://blogs.msdn.microsoft.com/webdev/2016/09/19/introducing-identityserver4-for-authentication-and-access-control-in-asp-net-core/

    我想你会发现它是一个更完整的解决方案。

    引用自 MSDN 博客;

    IdentityServer4 允许将以下功能构建到您的 应用:

    身份验证即服务集中登录逻辑和工作流程 您的所有应用程序(网络、本机、移动、服务和 SPA)。

    单点登录/注销 多次单点登录(和注销) 应用类型。

    API 的访问控制 为各种类型的 API 颁发访问令牌 客户,例如服务器到服务器、Web 应用程序、SPA 和 原生/移动应用。

    联合网关支持 Azure 等外部身份提供程序 Active Directory、Google、Facebook 等。这可以保护您的应用程序 从如何连接到这些外部提供商的详细信息。

    专注于定制最重要的部分 - 的许多方面 IdentityServer 可以定制以满足您的需求。自从 IdentityServer 是一个框架,而不是盒装产品或 SaaS,您 可以编写代码以对您有意义的方式调整系统 场景。

    【讨论】:

    • 感谢您的快速回答!!我的理解是:你说,最好的办法是让别人来做身份的事情?您建议的解决方案比当前身份“更完整”?我需要检查您的链接的内容,并会对此作出答复;)
    • 没有。 IdentityServer4 是一个“框架”,您可以使用它来编码您的身份和授权解决方案。如果你也喜欢的话,你可以坚持使用 ASP.Net Identity 并在它之上构建。
    • 谢谢小费!我一定会看看这个——在我解决了我最初的问题之后;) IdentityServer 使用或可以使用身份和/或实体框架。只要我没有找到任何解决该问题的方法,深入挖掘可能的实现是没有意义的..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    相关资源
    最近更新 更多