【发布时间】:2012-06-21 16:39:22
【问题描述】:
我正在尝试将我的 WPF 应用程序部署到我们公司网络之外的一些用户。在我们的 LAN 上一切正常,但当我打开安全性时,我无法让更新正常工作,因为从未提示用户输入他们的登录详细信息?
是否有人知道如何保护我的 ClickOnce 文件,以便只有我的用户可以访问它?我不能在没有安全的情况下安装这个软件。
非常感谢任何帮助。
【问题讨论】:
标签: wpf wpf-controls clickonce wpftoolkit lan
我正在尝试将我的 WPF 应用程序部署到我们公司网络之外的一些用户。在我们的 LAN 上一切正常,但当我打开安全性时,我无法让更新正常工作,因为从未提示用户输入他们的登录详细信息?
是否有人知道如何保护我的 ClickOnce 文件,以便只有我的用户可以访问它?我不能在没有安全的情况下安装这个软件。
非常感谢任何帮助。
【问题讨论】:
标签: wpf wpf-controls clickonce wpftoolkit lan
没有办法保护您的文件,因为 ClickOnce 运行时会盲目地返回其部署点,并且永远不会保留用户的原始凭据。我听说过使用各种技术解决这个问题的方法,但它的工作量相当大。
这可能有用www.clickoncerevolution.com。
您也可以始终考虑使用 MSI 安装程序,但您不会获得自动更新。
马蒂
【讨论】:
在内部,您可以限制对网络服务器上文件的访问。在外部,您可以轻松做到的事情并不多。
我们通过让客户在运行应用程序时登录来处理此问题,并根据后端服务(在 Azure 上运行)验证他们的凭据。因此,除非他们可以登录,否则他们无法运行它。
如果你不想这样做,我会与你分享this article。它展示了如何通过拦截对 Web 服务器的请求并做出响应来从 SQL Server 数据库中提供 ClickOnce 文件。如果您在使用 Web 应用程序方面比我更聪明(请注意,不是很高的标准),也许您可以在那时弄清楚如何拦截并要求提供身份验证凭据。
这里是an article from CodeProject,他们为您提供了一种解决方案。
【讨论】: