首页 新闻 会员 周边 捐助

MVC4的Form认证问题

0
悬赏园豆:200 [待解决问题]

遇到个很奇怪的问题,项目中有2个网站,A网站基于.NET3.5开发,传统的Webform网站,该网站负责用户登录注册功能,用户登录后生成了用户票据,保存在cookie中。

 

然后B网站,MVC4.0,.NET4.5的新网站,无法验证该票据,断点后发现抛加解密错误异常,config中各个节点配置都是一致的MachineKey和authentication都一致。之后又新建一个C站点,.NET4.5的Webform站点,congfig配置再抄一次,该站点能正常解密票据验证用户,目前得到的结论是MVC搞出来的问题。有遇到过该问题的大神吗,求解。

 

 FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);

系统自动的Form认证失败后自行解密验证,发现这句抛异常,说加解密失败,但是该句在C网站中正常运行,求解。。。

MVC
ylem.zang的主页 ylem.zang | 初学一级 | 园豆:4
提问于:2013-02-22 15:51
< >
分享
所有回答(6)
0

不同的网站,cookie是不一样的,是否设置了。

Qlin | 园豆:2403 (老鸟四级) | 2013-02-22 16:02

设置了,我在C站Form认证都成功了。

支持(0) 反对(0) ylem.zang | 园豆:4 (初学一级) | 2013-02-22 16:03
0

Mark一下,是不是因为解密的方式不一样?

禁止吸烟 | 园豆:1 (初学一级) | 2013-02-22 21:42
0

把异常更详细的贴出来或工程

Yu | 园豆:12990 (专家六级) | 2013-02-23 09:10
0

试试在两个网站设定相同的MachineKey 并显示指定相同的validation和decryption算法,

FormsAuthentication中指定相同的domain 和 forms name

然后清除所有cookie 再试试

gunsmoke | 园豆:3592 (老鸟四级) | 2013-03-01 08:19
0

在国外论坛已经得到了解答,是配置machinKey节点中的一个属性,该属性在msdn文档中没写,所以当时没找到,谢谢各位。

 

 compatibilityMode="Framework20SP1"

ylem.zang | 园豆:4 (初学一级) | 2013-03-01 09:15

具体哪个属性 写一下吧

支持(0) 反对(0) gunsmoke | 园豆:3592 (老鸟四级) | 2013-03-01 11:10
0

loneheart | 园豆:202 (菜鸟二级) | 2013-03-26 13:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册