当前位置:  开发笔记 > 编程语言 > 正文

受密码保护的.NET ClickOnce部署?

如何解决《受密码保护的.NETClickOnce部署?》经验,为你挑选了1个好方法。

如何使用密码保护ClickOnce部署的应用程序?我是否必须更改Web的IIS设置或有没有办法以编程方式执行此操作?我正在使用Visual Studio 2005(.NET 2.0).

如果我必须使用Web凭据,是否仍然可以自动更新应用程序?

如果您可以提供一些示例代码或管理IIS的详细说明,那将会很棒.

谢谢!



1> splattne..:

我在这篇MSDN文章中找到了一个可能的解决方案:ClickOnce Deployment and Security.

ASP.NET基于表单的身份验证

如果要控制每个用户可以访问的部署,则不应启用对Web服务器上部署的ClickOnce应用程序的匿名访问.相反,您将允许用户根据用户的身份(使用Windows NT身份验证)访问您已安装的部署.

如果部署到没有Windows NT身份验证的环境,则解决方案可能是尝试使用基于ASP.NET表单的身份验证来对用户进行身份验证.但是,ClickOnce不支持基于表单的身份验证,因为它使用持久性cookie; 这些存在安全风险,因为它们驻留在Internet Explorer缓存中并且可能被黑客入侵.因此,如果要部署ClickOnce应用程序,则不支持除Windows NT身份验证之外的任何身份验证方案.

传递参数

如果必须将参数传递给ClickOnce应用程序,则会出现额外的安全注意事项.ClickOnce使开​​发人员能够向通过Web部署的应用程序提供查询字符串.查询字符串采用用于启动应用程序的URL末尾的一系列名称 - 值对的形式:

http://servername.adatum.com/WindowsApp1.application?username=joeuser

默认情况下,禁用查询字符串参数.要启用它们,必须在应用程序的部署清单中设置属性trustUrlParameters.可以从Visual Studio和MageUI.exe设置此值.有关如何启用传递查询字符串的详细步骤,请参见如何:在ClickOnce应用程序中检索查询字符串信息.

您永远不应将通过查询字符串检索的参数传递给数据库或命令行,而不检查参数以确保它们是安全的.不安全的参数包括数据库或命令行转义字符,这些字符可能允许恶意用户操纵您的应用程序执行任意命令.

注意:查询字符串参数是在启动时将参数传递给ClickOnce应用程序的唯一方法.您无法从命令行将参数传递给ClickOnce应用程序.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有