用户被随机注销,显示奇怪的URL,用户无法登录,直到缓存清除或重新启动



发生这种情况时,我们得到的奇怪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成员身份的角色进行授权)。不过,我开始认为这与客户端有关,因为当用户报告问题时,我可以登录到同一个帐户并访问这些页面而不会出现问题。

症状:

  1. 一旦注销,用户就无法重新登录
  2. 尝试重新登录时显示的奇怪url

似乎可以修复它的东西(来自用户):

  1. 清除浏览器缓存并重新启动Safari
  2. 重新启动

有人知道为什么会生成那个奇怪的URL吗?提前感谢!

这是由于.net中的无cookieless功能。所以是URL中的表单身份验证。看看这个问题:

IIS7.5 ASP.NET MVC用户点击奇怪的URL:/(F(1xe9eXxPz

最新更新