在Chrome中为JQuery Kendo dataSource请求提示用户名和密码



当我尝试访问这样的Kendo数据源时:

    dataSource: {
        transport: {
            read: {
                url: constructServerActionUrl(reportsController, getVisitorsAction),
                dataType: "json",
                data: {
                    start: $("#report-bar-start").val(),
                    end: $("#report-bar-end").val()
                }
            }
        }

当有人试图访问数据源时,chrome会提示我输入用户名和密码。这不会发生在临时服务器和实时服务器上,只会发生在本地服务器和测试服务器上。我试过:

  • 在IIS中启用匿名访问
  • 在IIS中启用Windows身份验证
  • 授予IUSR帐户对应用程序中所有文件的读取访问权限
  • 将应用程序池标识设置为管理员帐户
  • 停止和启动IIS

虽然这显然是IIS配置问题,但我想知道是否有任何方法可以保证此问题永远不会发生,例如,在发出数据源请求之前,在datasource的"read"属性中指定一个"no authorization"标头。像这样的东西(不起作用):

                beforeSend: function (xhr) {
                    xhr.setRequestHeader('Authorization', 'None');

或者,可能是什么其他IIS设置导致了这种情况?

问题是我的控制器被称为"reports",如果它碰巧在机器上运行,它会与SQL server报告服务发生令人难以置信的冲突。我更改了控制器名称,现在一切正常。

相关内容

最新更新