在受密码保护的网站上使用ClickOnce

时间:2010-12-19 16:42:15

标签: visual-studio-2010 clickonce

我使用ClickOnce从网站网址分发应用程序。该应用程序有一些合并模块,如ADO ActiveSync,需要ClickOnce安装程序下载依赖项。

如果我使用密码保护URL,则用户可以使用publish.htm页面登录并启动Click Once流程。尝试下载dependecy文件时,该过程失败,因为ClickOnce未提供身份验证信息。是否有一个我可以使用的设置,以便ClickOnce可以重新登录刚刚启动的网站并下载合并模块?

我真的不在乎用户名/密码是否以纯文本形式存储在XML配置文件中。我只想阻止世界上的任何人下载应用程序。

1 个答案:

答案 0 :(得分:7)

您无法在ClickOnce部署中使用表单身份验证。

  

ClickOnce不支持基于表单的身份验证,因为它使用持久性cookie;这些存在安全风险,因为它们驻留在Internet Explorer缓存中并且可能被黑客入侵。因此,如果要部署ClickOnce应用程序,则不支持除Windows NT身份验证之外的任何身份验证方案。   MSDN for ClickOnce Deployment and Security

如果您想要更好地控制分发系统,可以考虑使用第三方解决方案。我使用了AppLife Update并且享受了它的灵活性。但是还有其他第三方解决方案。

关于ClickOnce的替代方案,有一个很好的StackOverflow问题:Alternatives to ClickOnce