ASP.Net Identity 2.0和ASP经典互操作

ASP.Net Identity 2.0和ASP经典互操作,asp.net,asp-classic,owin,asp.net-identity-2,Asp.net,Asp Classic,Owin,Asp.net Identity 2,我正在尝试让ASP经典网站与ASP.NET5.0并排运行。ASP Classic站点有一个自制的身份验证机制,但如果我能获得Request.ServerVariables(“AUTH_USER”)集,我就可以在两者之间建立桥梁 我可以使用表单验证使事情正常运行。为此,我编写了自己的ASP.NET 5.0登录控制器方法,如果登录成功,该方法将使用FormsAuthentication.SetAuthCookie。为了保护非ASP.Net资产,我在Web.Config <system.webS

我正在尝试让ASP经典网站与ASP.NET5.0并排运行。ASP Classic站点有一个自制的身份验证机制,但如果我能获得
Request.ServerVariables(“AUTH_USER”)
集,我就可以在两者之间建立桥梁

我可以使用
表单验证
使事情正常运行。为此,我编写了自己的ASP.NET 5.0登录控制器方法,如果登录成功,该方法将使用
FormsAuthentication.SetAuthCookie
。为了保护非ASP.Net资产,我在
Web.Config

<system.webServer>
    <modules>
        <remove name="FormsAuthenticationModule" />
        <add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" />
        ... same for UrlAuthorization and DefaultAuthentication
    </modules>
</system.webServer>


看起来很有希望,但奇怪的是,您需要知道Cookie的格式(加上它看起来是硬编码到版本1的)。

Cookie是不可互换的,因此,如果您必须编写自己的HTTPHandler来处理它,那么您就需要知道所述Cookie的结构,这一切都在和中。我不要求曲奇可以互换。我想摆脱FormsAuthenticationCookie,用ASP.Net身份信息替换它。唯一的问题是让身份验证处理程序为非ASP.Net资产运行。答案是,您需要编写一个自定义的HTTPHandler。另外,我主要是评论“但是您需要知道Cookie的格式,这似乎很奇怪”。您需要知道格式,以便能够构建一个HTTPHandler来处理它。