【发布时间】:2023-04-08 20:34:01
【问题描述】:
我们正在开发一个纯粹使用 Windows 身份验证的内部 MVC3 应用程序。有一个视图对控制器操作执行 AJAX 调用,该操作在调用 Web 服务之前执行一些处理。我们遇到的问题是,如果匿名访问被关闭(如 Windows 身份验证打开),从控制器操作调用服务会导致 401:未经授权的错误。
我们遇到了双跳问题,在服务中调用服务时凭据未正确从服务器传递到服务器。我想知道 AJAX 调用是否在某种程度上模仿了相同的行为,并且没有将正确的 Windows 凭据传输到控制器,然后控制器不会将正确的凭据传递给 Web 服务。
我看过一些帖子,展示了如何在 jQuery 调用中传递用户名和密码,但没有提及,这是一种有效的方法,可以带来 Windows 身份验证。
有没有人遇到过类似的问题?我们宁愿不要在网络服务上留下匿名访问,因为它是我们希望控制访问的一些敏感数据。
【问题讨论】:
-
我应该详细说明一下。我说的是在 Web 服务所在的虚拟目录上打开或关闭匿名访问。对 Web 应用程序进行 Windows 身份验证在所有情况下都可以正常工作。
标签: asp.net-mvc-3 web-services jquery controller windows-authentication