所以这里有恐怖故事的背景:
因此,经过上述所有操作后,我从一台不在网络上的机器上访问该网站,IE8提示用户名/密码,我输入servername \ myDemoUser和正确的密码。将显示主页,并正确显示RS的文件夹和报告列表。 HOWEVER 如果我单击RS报告生成器链接,我会看到它正在执行它的clickonce验证内容,但是几秒后它会显示一个简单的消息框,说明存在身份验证错误。然后,详细信息按钮显示一个带有一堆stacktrace内容的文本文件,其中最终表示服务器在访问上述.application文件时返回401。
我在Win 2003虚拟机上启用了登录失败审核功能,我可以看到,当clickonce失败时,它会尝试使用我登录到外部(到我的网络)计算机的本地计算机帐户而不是凭据我在测试时进入该机器的浏览器。
多次谷歌搜索和授予网络服务的权限,每个人等...在以后涉及的各种文件夹上没有任何报告生成器位不会因为权限或不正确的使用而无法通过clickonce安装。
我正在考虑改变RS中的某些内容以尝试向匿名者授予报表生成器的权限,但此时我非常悲观,我实际上会找到任何东西。令人烦恼的是,这个测试并不代表最终的事情(我们将在RS中使用自定义身份验证)但不幸的是我必须这样做,8(。
任何想法都会受到最高的赞赏。
答案 0 :(得分:0)
事实证明,当您从未登录域的计算机访问该站点时,以这种方式使用假Windows身份验证时,clickOnce将无法正常工作,因为它不会传递您输入的详细信息进入浏览器。
所以解决方案是: 1)登录将访问您网站上的clickonce链接的计算机上的(任意)域。
2)在控制面板中,转到用户帐户(XP)/存储用户和密码(Win 2003),并管理用户(XP)的网络密码并添加URL,用户名和密码。 每当clickonce触发此URL时,它将传递指定的用户名/密码,而不是本地计算机帐户。
上述任何一种都可以解决这个问题。