我有两个 .NET 应用程序有一个奇怪的行为,需要多次身份验证,但每个页面请求只需要一次。所以我会登录,它会带我到看起来我成功登录的页面,然后当我点击另一个菜单选项时,它会要求我再次登录。有时,我点击的每个不同页面都会要求我登录,但这样做后我可以访问该页面。如果它没有这样做,那么在随机时间后它会要求我再次登录。
我还注意到加密数据存储在 URL 中。
- 第一步:进入网站,登录,一切正常。
- 第 2 步:点击应用程序中的菜单链接,它会转到如下所示的 URL:
https://www.mydomain.com/myapp/(X(1)S(hr4zvojplikcza2osx4i5ksk))/SomePage.aspx
- 第 3 步:单击该链接,它需要我再次登录,现在所有 URL 中都有那个奇怪的字符串。如果我第二次登录,那个奇怪的字符串会变得更长。
如果我只输入没有 (X(1)S(hr4zvojplikcza2osx4i5ksk)) 的页面 URL,它可以正常工作并且不需要我再次登录。但是应用程序根目录之外的每个应用程序链接都以该字符串开头。如果我重新启动应用程序池,这个问题也会消失,但在稍后的随机时间,它会再次抬头。
这些应用程序使用表单身份验证。发生了什么事,我该如何解决这个问题?