2012-01-28 117 views
0

我试过寻找这个问题,但没有遇到任何类似的其他地方。我为我的asp.net 3.5网站编写了一个简单的Ajax聊天客户端。我使用linq来存储和检索消息。表单身份验证和Ajax回发

我使用表单身份验证和使用ms SQL服务器的标准aspnet用户数据库供应。带有Ajax控件的聊天页面使用<location><allow roles>标签进行保护。

问题是,用户登录正常并导航到聊天页面,但是只有几条消息后,每个人都被抛出到登录页面。

这意味着认证失败,但我不知道为什么。它必须是Ajax回发之间的一些交互。不幸的是我无法调试,所以任何帮助将不胜感激。

+0

为什么你认为它与认证呢?难道它不是会议的东西吗? – 2012-01-28 16:14:15

回答

0

您是否将WCF用于Web服务?如果是这样,请确保在web.config的配置/ system.serviceModel/serviceHostingEnvironment中有aspNetCompatibilityEnabled =“true”。我认为在经典的ASP.NET AJAX中有类似的设置,但我无法回想起它。

如果没有这些,您的服务请求将无法访问表单身份验证,会话状态等,因此当您的位置标记通过UrlAuthorizationModule运行时,即使它们不是匿名,也会将请求视为匿名。

在这里看到更多的细节: