发生这种情况时,我们得到的奇怪URL的示例:(注意/controller/part之前的长字符串)
http://domain.com/(F(RJ98SBleKwJwzM59cfA_Kr5pxNDeLW07xV65XfHzSqeZlZcgvl1TwHeH_s4rlWWPRo3dV9KGDati6kVlQ3o--KnVANIpqwvOB_H8cBO7MhPLXO2MIHITYUKnLp3DzKPwiQUOwaHa8fQpuXsbz1NIiuRICY4CaEBYhQ1qwkX64plaqhCGk6CG7Gk7WFB_Njq-XTtGDXLvcenSBZvMJ22Fgw2))/controller1/action1
http://domain.com/(F(ZbnIOH70BxAn2Eo6zzdH9zVWu4Oa7DrMaRk_tF41F3WcRapNeXghfDY0_f-2uYbPkWv1UV1ZyPp3tBPSM0I-UDbIyU2O_MKWPVcSg4D3uRo5kA6kRu7niobbJuPL5F8Gkc2g_a6mVhp_JGIRR4i1SRhyh8ovneMFzXHCGWU75TJogqlkjj5XTZNhG_LgqXHOy51Z92ueXjpLQdGh7b4kg_iixNPEn8qJHm_fudm-R8U1))/controller2/action2
事实上,我很难复制它,因为它是如何发生的似乎没有一个明确的模式。对于不同的控制器/操作,它是随机发生的,并且这些操作可以/可能具有不同的授权属性(我们基于具有ASP.NET成员身份的角色进行授权)。不过,我开始认为这与客户端有关,因为当用户报告问题时,我可以登录到同一个帐户并访问这些页面而不会出现问题。
症状:
- 一旦注销,用户就无法重新登录
- 尝试重新登录时显示的奇怪url
似乎可以修复它的东西(来自用户):
- 清除浏览器缓存并重新启动Safari
- 重新启动
有人知道为什么会生成那个奇怪的URL吗?提前感谢!
这是由于.net中的无cookieless功能。所以是URL中的表单身份验证。看看这个问题:
IIS7.5 ASP.NET MVC用户点击奇怪的URL:/(F(1xe9eXxPz