Tag: authentication

如何告诉Excel / VBA清除安全证书?

我已经为Excel写了一个VBA插件,它为服务器提供login/注销function。 我实现它的方式是向服务器上的URL发送请求,该请求检查用户是否有会话,如果没有,服务器会在头部响应(未授权)上发送401。 401响应使得Excel自动popup'windows style'login模式(这是免费的,我猜是用Excel来的)。 我input我的凭据,服务器validation用户,并创build一个会话。 我现在的问题是当我尝试注销。 服务器按预期销毁会话。 如果用户现在再次单击login,Excel向服务器发送HEAD请求,服务器以401响应,然后Excel自动发送用户之前input的相同用户名和密码凭据。 用户现在再次login。 只是要清楚 – 这不是服务器端caching,这是Excel重新发送login凭据,收到401响应后,使用HTTP标头中的基本身份validation。 这不是预期的行为,我不希望Excel存储凭证的副本,并一次又一次地重复使用它们。 如果用户注销,我希望这是永久的,直到他们决定再次login时,他们应该重新input他们的凭据。 我有问题告诉Excel / Windows / VBA? 清除无论它保留在哪里,无论它保留在哪里。 我的问题是,我不知道Excel / VBA编程的function是什么,它的function似乎是免费的,所以我不知道它存储在哪里。 为了什么是值得的,这里是我的VBA Dim req As MSXML2.XMLHTTP60 Set req = New MSXML2.XMLHTTP60 req.Open "GET", url, False req.send

在IE中打开Excel文件引发三次login?

我有一个经典的ASP网站,将一个表单发布到一个页面,然后生成一个Excel文件并传输给用户。 其实,我发送的是一个原始的HTML表格: Response.AddHeader "Content-Disposition", "inline; filename=file.xls" Response.AddHeader "Content-Type", "application/vnd.ms-excel" Intranet网站通过集成的Windows身份validation进行保护。 没有其他访问模式被检查。 用户使用他们的networking密码login,一切正常。 现在,当用户提交表单时,这个动作会导致另外两个login对话框。 你实际上可以从两者中取消并仍然打开文件。 事实上,如果你把你的凭据,它需要你input他们四次! 如果选中“记住密码”,则不会影响login的需要。即使在IE的“受信任的站点”部分列出了URL,也会发生这种情况。 任何想法,我可以做些什么来最小化这个? PS:不知道,但似乎是一个相对较新的问题,意味着更新版本的IE(7/8),Office(2007+)和Windows(Vista / 7)。 更新:使用Fiddler,我可以看到一个名为“User-Agent:Microsoft-WebDAV-MiniRedir / 6.1.7600”的尝试连接,并得到401.2'ed。 是IE卸载下载到其他不正确的身份validation? UPDATE2:有趣的是,Firefox没有这个function。 它正确地接收和解释事物: HTTP/1.1 200 OK Date: Mon, 21 Feb 2011 19:25:26 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Content-Disposition: inline; filename="SavingsReport_4Q2010.xls" Content-Type: application/vnd.ms-excel Content-Length: 111851 Cache-control: private