2011-09-28 58 views
27

我创建了一个返回DataSet的简单(asmx)Web服务。 我已经使用Data - > From Web按钮将webservice添加到我的Excel 2007工作簿中,并且可以查看/刷新数据。Excel 2007传递Windows身份验证

当我需要保护Web服务时,问题就出现了:我已经为Web服务启用了Windows身份验证,并且请求使用了SSL。

不幸的是,用户登录的Windows凭据在尝试刷新数据时未被Excel使用 - 刷新失败。

如果我点击数据 - >连接 - >属性 - >定义 - >编辑查询,只有那么我提示输入我的Windows凭据,刷新然后成功....对我来说不是一个问题,但不是我希望这个电子表格的每个用户都必须这样做......任何想法如何在尝试刷新而不是失败时提示提示?

谢谢!

更新到目前为止所做的解决方法是使用SharePoint和Excel Services(这两者对我都没有任何用处)......以及一个链接,其中“以下过程不适用于从数据库中检索的数据文本文件或网络查询“...我只想要一个人在他的桌面计算机上的excel副本能够从一个密码保护的Web服务更新......是如此艰难的微软?

另一个更新仍然没有公认的答案 - 因为没有答案,到目前为止已经提供了一个可行的解决方案(尼斯虽然谷歌搜索 - 谢谢你们;-))

+0

请参阅http://stackoverflow.com/questions/2206943/what-do-i-need-to-do-to-make-excel-access-a-web-query-via-https?lq=1 – TFD

回答

1

虽然我还没有得到SSL我可以正常地证明,Excel中使用通过身份验证时不应要求您进行身份验证。

我的猜测是,您需要将目标网站(使用https)添加到IE中的信任区域。效果应该是,当你去到网站时,你根本不应该被挑战你的密码。 IE将通过身份验证凭据,因为目标位于受信任区域中。

修复此问题后,Excel应将其视为正常网站。

下面是其中谈到您通过将网站的信任区域的链接:http://www.nateirwin.net/2007/01/19/enabling-ntlm-authentication-in-firefox-and-internet-explorer/

+0

不用担心 - 只要我重新打开网站的Windows验证码,它就会重新被破坏......我已经使用SSL和GUID查询字符串参数 - 这并不理想,但它不是非常敏感的数据。谢谢你的想法,虽然:) – Nathan

1

我最后一次处理这个问题是在2004年。如果我没有记错,这是在Web查询技术错误在查询如何处理SSL证书。这是Excel 97技术;因此,相当基本的实施。

经过大量研究和排除故障后,解决此问题的唯一方法是创建用户和密码参数并发布网络查询。使用POST将保持用户/密码不被窥视。


以下是从2004年我的注意:与https,应用程序/ vnd.ms - Excel中,上网查询(IQY)的问题,和Excel 2000/2002。


你检查出这个问题:What do I need to do to make Excel access a Web Query via HTTPS?


Excel中的Web查询使您在http://msdn.microsoft.com/en-us/library/aa155714(v=office.10).aspx来填充从网站工作表。

需要认证和密码的网站提供了额外的 挑战。他们可能需要编码解决方法或可能无法解决。当您使用Web查询到安全网页()

错误消息在Excel中: “无法打开” 的http://support.microsoft.com/kb/290347

XL97:如何创建Web查询(.iqy)文件http://support.microsoft.com/kb/157482是一个宝贵的资源。 (有一个Web查询SDK一次,我无法找到,但是这篇文章是一个很好的替代品。)

在Microsoft Office中使用Web查询Excel 2003中的不同方式。

1

我不知道这是否有帮助,但从远程SQL Server数据库导入数据时遇到类似的情况。我所做的是在数据库本身内部创建一个角色,并分配任何需要访问该角色的用户。

当使用Microsoft Query加载文件时,数据更新到工作簿中,所以我不知道这与您做过的事情可能会有什么不同。

这样做的最大问题是打开查询属性并检查“使用可信连接”框。这对我来说没有问题。同样,这是来自远程服务器,而不是一个安全的网站。希望这可以帮助。