我有一个ClickOnce应用程序,我将覆盖标准的ClickOnce更新系统,并使用此页面上的代码在应用程序中创建我自己的。
应用程序使用登录到我控制的Web服务。任何在Web服务中没有帐户的人都需要保护安装文件不被下载。我正在使用以下方法尝试执行此操作:
一旦用户登录到应用程序,就会生成随机Guid作为用户信息的一部分(在此问题出现之前,这是系统的一部分)。它存储在数据库和应用程序中。登录后,应用程序调用webservice上的一个函数,该函数记录用户名,guid,客户端IP地址以及当前时间加五分钟的过期时间。之后,应用程序联系下载网站以检索清单。它包括生成的guid作为查询字符串参数。网站拦截请求并验证IP地址和到期时间,如果匹配,则将请求的文件流反馈给应用程序。
我的问题是在查询字符串中包含guid使其成为安装URL的一部分,而ClickOnce预计它将在下次更新应用程序时保持不变。
是否有任何方法可以在调用中包含查询字符串,但不能将其作为安装URL的一部分?或者还有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
对于谁可以下载什么并在应用程序运行时将安全性移至,是不是更好?
然后,基本ClickOnce下载网址变为静态(这是ClickOnce的设计目标),问题就消失了。