【发布时间】:2017-04-16 04:47:00
【问题描述】:
我们正在运行基于不同 .Net 版本的多个站点。
其中一个站点正在运行 .Net 4.6 和 ASP.Net MVC 5.xx
要使用 Razor 的新语法,我们希望将此站点升级为使用 .Net 4.6 和 ASP.Net Core
我们在我们的网站上使用 FormsAuthentication,我们将继续使用它,以便用户可以在网站之间移动。 (其中一个网站是运行 FormsAuthentication 的 SharePoint 网站)
我们知道 ASP.Net Core 没有使用 System.Web 中的任何东西,但我们需要使用控制器(在登录期间创建 FormsAuthentication cookie)和 HttpModule 来验证 cookie。
我无法从运行 ASP.Net Core 且具有完整框架的站点中找到如何使用 system.web 的任何示例。我无法在 project.json 中为 system.web 添加依赖项。
问题。
是否可以通过这样的设置使用 system.web?
我们如何添加对 system.web 的依赖,以便 System.Web.FormsAuthentication 可从 ASP.NET MVC 6 获得。(控制器/http 模块)
【问题讨论】:
-
为什么不在 .Net core 中进行表单身份验证?
-
.Net Core 不支持表单身份验证。这是我们无法迁移到 .Net Core 的原因之一,因为我们正在使用 FormsAuthentication 运行所有其他站点。 (目前还有其他与.Net core不兼容的依赖)
-
使用 System.Web dll 与使用 System.Web 不同。 System.Web 管道不会为您的 ASP.NET Core 应用程序运行,因此您无法做您想做的事情。
-
应该可以使 FormsAuthentication 与 Asp.Net Core 一起工作,示例请参见此处:stackoverflow.com/questions/44018218/…
标签: c# asp.net .net asp.net-core formsauthentication