跨同一台计算机上托管的多个MVC / Web窗体项目进行身份验证

时间:2014-05-02 19:21:44

标签: asp.net asp.net-mvc authentication webforms asp.net-mvc-5

我目前正在将一系列ASP.Net Web表单项目迁移到ASP.Net MVC 5. Web表单项目都托管在同一台计算机上并共享表单身份验证(您登录到一个,您和#39;重新登录所有)。旧版应用使用Page.User.Identity。首先,我使用带有Cookie的UserManager / IAuthenticationManager将一个网站迁移到MVC 5。正如所料,这种新的身份验证系统不适用于我们环境中的其他应用程序。 MVC5项目与其他项目具有相同的machineKey配置,我尝试添加对FormsAuthentication.SetAuthCookie的调用,但它不起作用。如何使用较新的身份验证方案设置身份验证以跨两种类型的环境工作,但对旧项目进行最少的更改才能使其工作?

1 个答案:

答案 0 :(得分:0)

我不是百分百肯定,因为这个项目最终朝着一个非常不同的方向发展,但我们遇到了类似Web表单cookie的问题。解决方案是将机器密钥上的compatibilityMode属性设置为" Framework45"。所有系统都以这种方式配置,以查看相同的cookie并按预期运行。我愿意打赌这会解决我原来的问题。