我已经尝试过寻找这个问题,但其他地方并没有遇到类似问题。我为我的asp.net 3.5网站编写了一个简单的Ajax聊天客户端。我使用linq来存储和检索消息。
我使用表单身份验证和使用ms SQL server的标准aspnet用户数据库配置。使用<location>
和<allow roles>
标记保护具有Ajax控件的聊天页面。
问题是用户登录正常并导航到聊天页面,但只有几条消息后,每个人都被扔到登录页面。
这必须意味着身份验证失败但我不明白为什么。它必须是Ajax回发之间的一些交互。不幸的是我无法调试,所以任何帮助都会受到赞赏。
答案 0 :(得分:0)
您是否在使用WCF进行网络服务?如果是这样,请确保web.config的configuration / system.serviceModel / serviceHostingEnvironment中有aspNetCompatibilityEnabled =“true”。我认为在经典的ASP.NET AJAX中有类似的设置,但我不记得了。
如果没有这个,您的服务请求就无法访问表单身份验证,会话状态等。因此,当您的位置标记通过UrlAuthorizationModule运行时,他们会将请求视为匿名,即使这些请求不是。
请点击此处了解更多详情: