不同.NET Framework版本下ASP.NET FormsAuthentication的兼容性

假设站点A加密使用.NET Framework 2.0,站点B解密使用.NET Framework 4.0,除了保持MachineKey相同外还需要进行如下设置:

1、Web.config的<appSettings>配置节下添加:

<add key="aspnet:UseLegacyEncryption" value="true" />

2、Web.confg的<appSettings>配置节下添加:

<add key="aspnet:UseLegacyMachineKeyEncryption" value="true" />

3、Web.config的machineKey配置节添加compatibilityMode属性,具体值由实际环境决定:

compatibilityMode="Framework20SP1"

2015-2-5 补充(感谢@玄之又玄)

如果以上方式还无法解决问题,请在Web.config的<appSettings>添加以下键值:

<add key="aspnet:UseLegacyFormsAuthenticationTicketCompatibility" value="true" />
原文地址:https://www.cnblogs.com/junchu25/p/3874197.html