.NET Framework 4.7.2 时代项目的现代化身份验证选项
Modernizing auth options for a .NET framework 4.7.2 era project
我有一个遗留解决方案,它由一个带有 MVC 控制器的 ASP.NET Web 应用程序和一个 Web api 组成。它还具有一些支持 class 库项目和 3rd 方库,用于生成 pdf 之类的东西。所有项目都以 .NET Framework 4.7.2 为目标。它是非常基本的东西。
随着所有术语的出现(.NET、.NET Framework、.NET Core、ASP.NET、ASP.NET CORE、.NET Standard 等)我不知道具体如何谈论正确的技术堆栈。我认为考虑到时代 (2012-2014) 和我看到引用的程序集,我认为引用该技术的正确方法是 ASP.NET 使用 MVC 5 的应用程序(我看到包 Microsoft.AspNet.MVC @ 版本 5.0 被引用).也许它应该被称为 ASP.NET 5 应用程序?
我试图解决这个问题的原因是,我无法说出我可以在身份验证方面添加到我的 Web 应用程序的库的潜在技术选项。现在它使用带有会话 cookie 的表单身份验证,启动文件几乎完全是空白的(它只包含一个“app.MapSignalR();”,我假设有人在将 SignalR 添加到项目。这是 System.Web.
的“成员资格”和 web.config 设置的时代
我看到许多现代方法,其中启动文件将包含 app.UseAuthentication() 或 app.AddX() 代码,我认为这意味着它们使用 OWIN 中间件或管道?这是面向 .NET Framework 4.7.2 的应用程序希望利用的最现代的应用程序吗?因此我知道如何添加所需的依赖项来更改我的应用程序的这方面?
所有这些技术的历史和命名都令人费解,而且确实令人困惑,希望有人知道我的选择是什么,或者可以帮助我识别正确的技术术语,这样我就可以更有信心地进行研究。
编辑:
- 想提一下 Web 应用托管在 IIS 中,我不想更改它。
- 我看到一些关于“Microsoft.Owin.Host.System.Web”的 OWIN 包引用 @ 版本 2.0.2(与 nuget.org 上的内容相比似乎很旧)。另见引用的“Microsoft.Owin”包 @ 版本 2.0.2。
我最终发现我遗漏的关键术语是 MVC5 中的“ASP.NET Identity”。这是 authentication/authorization 对于需要 OWIN 管道的 ASP.NET 网站的演变。当时的默认项目模板包括适当的身份和身份验证相关类型以及将这些功能绑定到请求管道所需的 OWIN 相关类型。然后,包含的类型将让您与 openid 连接身份验证服务器集成,facebook/twitter/google,等等
我有一个遗留解决方案,它由一个带有 MVC 控制器的 ASP.NET Web 应用程序和一个 Web api 组成。它还具有一些支持 class 库项目和 3rd 方库,用于生成 pdf 之类的东西。所有项目都以 .NET Framework 4.7.2 为目标。它是非常基本的东西。
随着所有术语的出现(.NET、.NET Framework、.NET Core、ASP.NET、ASP.NET CORE、.NET Standard 等)我不知道具体如何谈论正确的技术堆栈。我认为考虑到时代 (2012-2014) 和我看到引用的程序集,我认为引用该技术的正确方法是 ASP.NET 使用 MVC 5 的应用程序(我看到包 Microsoft.AspNet.MVC @ 版本 5.0 被引用).也许它应该被称为 ASP.NET 5 应用程序?
我试图解决这个问题的原因是,我无法说出我可以在身份验证方面添加到我的 Web 应用程序的库的潜在技术选项。现在它使用带有会话 cookie 的表单身份验证,启动文件几乎完全是空白的(它只包含一个“app.MapSignalR();”,我假设有人在将 SignalR 添加到项目。这是 System.Web.
的“成员资格”和 web.config 设置的时代我看到许多现代方法,其中启动文件将包含 app.UseAuthentication() 或 app.AddX() 代码,我认为这意味着它们使用 OWIN 中间件或管道?这是面向 .NET Framework 4.7.2 的应用程序希望利用的最现代的应用程序吗?因此我知道如何添加所需的依赖项来更改我的应用程序的这方面?
所有这些技术的历史和命名都令人费解,而且确实令人困惑,希望有人知道我的选择是什么,或者可以帮助我识别正确的技术术语,这样我就可以更有信心地进行研究。
编辑:
- 想提一下 Web 应用托管在 IIS 中,我不想更改它。
- 我看到一些关于“Microsoft.Owin.Host.System.Web”的 OWIN 包引用 @ 版本 2.0.2(与 nuget.org 上的内容相比似乎很旧)。另见引用的“Microsoft.Owin”包 @ 版本 2.0.2。
我最终发现我遗漏的关键术语是 MVC5 中的“ASP.NET Identity”。这是 authentication/authorization 对于需要 OWIN 管道的 ASP.NET 网站的演变。当时的默认项目模板包括适当的身份和身份验证相关类型以及将这些功能绑定到请求管道所需的 OWIN 相关类型。然后,包含的类型将让您与 openid 连接身份验证服务器集成,facebook/twitter/google,等等