没得办法吧.......只能设置iis来着吧.....

解决方案 »

  1.   

    感觉用API抓窗口句柄,点击"Cancel“可以。
    还有别的方法么,用后台代码也可以,只要在客户端运行,并可以禁止就行。
      

  2.   

    <% 
    Response.Status = "401 Unauthorized" 
    Response.AddHeader "WWW-Authenticate","NTLM" 
    response.write "user=" & Request.ServerVariables("LOGON_USER") & " " 
    response.write "User login!" 
    response.end 
    %>这个是ASP控制弹出NTLM验证窗口的
    看看你能从这上面得到什么启发没!
      

  3.   

    这个弹出窗口不属于标准DOM或者BOM的一部分。
    所以用js很难解决。既然会弹出了NTLM登录窗口,说明很可能被拒绝访问。
    这样也就获取不了期望的资源,不知LZ的目的是什么。不能直接更改服务器端的设置吗?
      

  4.   

    可以通过Proxy模式来解决。你需要在自己的站点上实现原服务的一个代理,
    其作用是在客户端与Web服务间转发数据,并过滤掉Web服务可能会发给客户端NTLM认证请求。
    这个代理可以使用任意Web应用框架实现,如Servlet、ASP.NET、PHP等。工作流程:
    1、在客户(浏览器)端,向代理发送请求:
    xmlhttp.Open "POST", 使用代理的URL, False2、代理svcproxy收到客户请求。
    代理将请求转发给原服务svc。3、原服务svc处理请求,然后发送响应。4、代理svcproxy检查HTTP响应代码。
    (1)如果是401未认证(会触发NTLM认证):
    代理向客户端以不会触发NTLM认证的方式返回一个错误。(如返回HTTP403错误。)(2)其它情况:
    直接转发响应给客户端。5、客户端接收代理svcproxy的响应,进行处理。
    可能触发NTLM的响应已被代理过滤,不会再弹出登录提示。
      

  5.   

    多谢楼上的我用VSTO搞了,实在没办法