验证过不去,导致重复登录,反之亦然....很简单能推断出是在这个机器上安装了4.5 ,某些组件的变动,导致form验证的加解密方式有变动.使得2台机器生成的登录cookie内容不一致,不能相互解析....能影响到.net对form加解密产生不同作用的地方无非2个.
1.本身代码的bug,兼容性问题问题。...通过参数配置,如果有改变,那对加解密产生的改变都是相符的. so,我们分析一下加密的方法,找出不同,通过参数来兼容这些修改.那问题就解决了.
form验证相关的方法,都在System.Web.Security.FormsAuthentication...通过调用加密方法在4.5上生成加密字符串,丢到4.0的机器上解密,不通过,提示加密字符串验证不通过.
so,我们看看加密方法中做了什么
加密方法:
省略部分代码,剩下的关键代码。