jQuery的$ .ajax()函数是否正确处理ASP.NET身份验证?

时间:2008-11-18 03:42:11

标签: asp.net jquery ajax web-services

我有一个受ASP.NET Forms身份验证保护的Web应用程序。该站点使用jQuery的$ .ajax()功能在同一个应用程序中调用Web服务。

浏览到Web服务.asmx会导致表单身份验证启动并且我曾经过身份验证并对服务器进行$ .ajax()调用我还看到ASP.NET会话cookie并将表单auth cookie发回到Fiddler中的服务器。

所以......尽管看起来一切都很好,但我想让我放心,当使用Web应用程序中的任何页面调用时,Web服务将受到ASP.NET表单身份验证的保护。 $就()。

3 个答案:

答案 0 :(得分:3)

从服务器的角度来看,ajax请求与普通的GET / POST请求没有太大区别 - 只是在请求中添加了一些额外的头文件。它通过您的正常身份验证例程,与任何其他请求相同 - 如果不是这样,您应该更担心应用程序的整体安全性,因为知道他们正在做什么的人很容易伪造请求

您可以轻松设置测试,以查看需要身份验证的资源是否成功阻止Ajax到达的未经授权的请求。这应该让你放心。

答案 1 :(得分:1)

只要您在服务器上检查用户是否经过身份验证,那么您应该受到保护。我使用$ ajax来调用PageMethods并调用ASP.Net WCF服务,事情看起来不错。

答案 2 :(得分:1)

它会受到保护,但请注意当您的身份验证到期时会发生什么,并且表单身份验证会使用302 FOUND响应重定向回登录URL。