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