IIS 在 ASP.NET Core 和 ASP.NET 应用程序之间共享 cookie
Posted
技术标签:
【中文标题】IIS 在 ASP.NET Core 和 ASP.NET 应用程序之间共享 cookie【英文标题】:IIS sharing cookies between ASP.NET Core and ASP.NET applications 【发布时间】:2018-12-20 20:40:11 【问题描述】:我们有一套应用程序,它们都位于 IIS (Server 2012) 中的网站下。我们打算将所有这些应用程序迁移到 .NET Core 2.1,但我们已经没有时间了,现在我需要看看让旧应用程序通过 .NET Core 门户身份验证的前景。 旧的网站使用 Forms Authentication,我希望我可以让 .NET Core 门户在登录时创建一个 Forms Authentication Cookie,而旧的应用程序不会更明智
我发现了这个很有前途的 github -
https://github.com/synercoder/FormsAuthentication
这在本地完美运行
但是,当我将应用程序放在服务器上的 IIS 上时,它不起作用 - 较旧的应用程序会出现登录屏幕。通过使用提琴手,.NET Core 和旧应用程序似乎不会“共享”他们所有的 cookie。会话 cookie 是共享的,.NET Core 应用程序获取所有较旧的应用程序 cookie,但较旧的应用程序没有获取表单身份验证 Cookie 是其中之一的 .NET Core cookie。再次,他们很高兴可以在本地共享彼此的 cookie (IISExpress)
我已经走到了尽头,有人知道为什么旧应用程序在服务器上的 IIS 中看不到 .NET Core cookie 吗?
【问题讨论】:
【参考方案1】:为了工作,您需要在 .NET Core 和旧应用程序上使用相同的应用程序池。
不用担心 .NET Core 应用程序的 .NET CLR 版本(无托管代码)。它适用于 v4。
【讨论】:
以上是关于IIS 在 ASP.NET Core 和 ASP.NET 应用程序之间共享 cookie的主要内容,如果未能解决你的问题,请参考以下文章
Windows + IIS 环境部署Asp.Net Core App
ASP.NET Core--.net core 3.1 部署到 IIS