不同.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" />