ASP.NET MVC 5中FormsAuthentication在Chrome等浏览器无法登录求助
ASP.NET MVC 5 FormsAuthentication登录在Chrome/Opera失效的问题解决
最近维护ASP.NET MVC 5项目时碰到个挺头疼的问题:项目用FormsAuthentication做身份认证,登录逻辑是调用FormsAuthentication.SetAuthCookie(user.UserID.ToString(), true)生成认证凭证,在Firefox和IE里登录完全正常,但在Google Chrome 63.0.3239.132(64位)和Opera 49.0里死活登不上。
现象细节
对比浏览器Cookie情况发现:Firefox能正常生成.ASPXAUTH核心认证Cookie,但Chrome和Opera里根本看不到这个Cookie的影子,自然没法通过身份校验。
排查过程
我先做了几个排除测试:
- 把网站部署到其他服务器上,Chrome/Opera就能正常登录了,说明代码本身没问题;
- 换了好几台不同外网IP的电脑测试,Chrome/Opera的问题依旧存在,排除了客户端本地环境的影响。
一开始怀疑是Cookie的过期日期配置有问题,翻遍web.config里的FormsAuthentication设置,也没找出异常。
最终解决方案
最后抱着试试的心态,把服务器上的VMware Tools更新到了版本10287,重启服务器后再测试——问题完全解决!Chrome和Opera里登录恢复正常,.ASPXAUTHCookie也能正常生成了。
内容的提问来源于stack exchange,提问作者Ion md
相关产品推荐
相关产品推荐

