【问题标题】:Silverlight 5 with elevated privileges in browser using clientaccesspolicy.xmlSilverlight 5 使用 clientaccesspolicy.xml 在浏览器中具有提升的权限
【发布时间】:2015-09-17 20:14:12
【问题描述】:

我正在尝试让我的 silverlight 应用程序在浏览器中以提升的权限运行。但是,无论我做什么,它都没有得到提升。

我尝试添加注册表项 AllowElevatedTrustAppsInBrowser(作为值为 1 的 DWORD),并使用 VS 2012 对 XAP 文件进行了签名。我还遇到了一个提到 clientaccesspolicy.xml 文件的博客,但我无法允许提升特权与此。我将 xml 文件放在托管显示 XAP 的 html 文件的 Web 项目中。

有没有人真的设法让它运行?

我也尝试过以下操作:http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2011/04/27/silverlight-5-beta-rough-notes-trusted-apps-in-the-browser.aspx 但我不确定在哪里运行他在 Windows 上运行的命令。

【问题讨论】:

  • 您需要为您的 Silverlight 应用签名:stackoverflow.com/questions/9784200/…
  • 我不认为clientaccesspolicy.xml 文件适用于这个问题,但不管怎样,我相信这个文件应该放在web 服务器根目录中才能正常工作。摘自 MSDN 文档:“Silverlight 运行时首先尝试使用 HTTP 协议在请求的目标域的根目录下载名称为 clientaccesspolicy.xml 的 Silverlight 策略文件。”
  • 我已经签名了,但是我还需要在“受信任的根证书颁发机构”存储中添加的证书,因为我通过 VS 使用测试证书。
  • 有一些“外面”的建议可以使用 clientaccesspolicy.xml 来完成,但所有证据都表明这是不可能的。目前还没有找到可靠的来源。我在有限数量的计算机和公司网络上发布这个应用程序,所以证书应该没问题。

标签: c# silverlight silverlight-5.0


【解决方案1】:

Mister Goodcat here 对如何启用浏览器内提升的信任进行了很好的总结,他还提供了一些故障排除提示:

  • 要记住的一件事是,即使您的应用程序作为受信任的浏览器内应用程序运行,它仍然受到浏览器本身施加的安全限制的约束。这意味着它的可能性可能比浏览器耗尽时受到的限制要大得多,例如通过 Internet Explorer 的保护模式。此外,Silverlight 运行时本身限制了浏览器内受信任应用程序的某些功能的使用,例如,当您在浏览器中运行时,您不能使用 Window 类和/或创建其他窗口。

  • 如果以上都不适用于您并且您仍然遇到问题,要做的一件事是检查您的证书是否已正确安装。为此,管理控制台有一个管理单元。 Here 是一篇描述如何到达那里的文章(请注意,您应该为您的用户帐户添加管理单元,而不是本说明中的计算机帐户)。

  • 您还可以检查您的注册表项是否实际并成功查询,例如使用来自Sysinternals Suite 的进程监视器之类的工具。注意浏览器可执行文件类型为“ReqQueryValue”的操作访问我们上面创建的密钥,并确保结果为“SUCCESS”。

【讨论】:

  • 太棒了!我错过了将证书放入“受信任的根证书颁发机构”的步骤。感谢您提供有关证书和注册表项的额外提示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
  • 2016-01-04
  • 1970-01-01
  • 2013-01-19
  • 2016-01-17
相关资源
最近更新 更多