我使用ClickOnce从网站网址分发应用程序。该应用程序有一些合并模块,如ADO ActiveSync,需要ClickOnce安装程序下载依赖项。
如果我使用密码保护URL,则用户可以使用publish.htm页面登录并启动Click Once流程。尝试下载dependecy文件时,该过程失败,因为ClickOnce未提供身份验证信息。是否有一个我可以使用的设置,以便ClickOnce可以重新登录刚刚启动的网站并下载合并模块?
我真的不在乎用户名/密码是否以纯文本形式存储在XML配置文件中。我只想阻止世界上的任何人下载应用程序。
答案 0 :(得分:7)
您无法在ClickOnce部署中使用表单身份验证。
ClickOnce不支持基于表单的身份验证,因为它使用持久性cookie;这些存在安全风险,因为它们驻留在Internet Explorer缓存中并且可能被黑客入侵。因此,如果要部署ClickOnce应用程序,则不支持除Windows NT身份验证之外的任何身份验证方案。 MSDN for ClickOnce Deployment and Security
如果您想要更好地控制分发系统,可以考虑使用第三方解决方案。我使用了AppLife Update并且享受了它的灵活性。但是还有其他第三方解决方案。
关于ClickOnce的替代方案,有一个很好的StackOverflow问题:Alternatives to ClickOnce