【问题标题】:How do I run a Full Trust XBAP on intranet?如何在 Intranet 上运行完全信任 XBAP?
【发布时间】:2009-03-17 14:01:28
【问题描述】:

我制作了一个 WPF 浏览器应用程序,它承载旧的 WinForms 控件(我还没有完全迁移到 WPF)。使用 WindowsFormsHost 意味着我的浏览器应用程序需要完全信任才能运行。这对我来说不是问题,因为这个应用程序只打算在我公司的 Intranet 上运行。但是,在我将 xbap 部署到网络共享后,它拒绝运行,并显示“未授予信任”。

我可以使用哪些方法向存储在我公司内部网上的 XBAP 应用程序授予完全信任?

【问题讨论】:

    标签: wpf xbap full-trust


    【解决方案1】:

    到目前为止,我已经找到了两种方法来做到这一点。通过installing certificates on the target machine这个很复杂的方法。

    或者通过更简单的方法,只适合内网here

    部署自定义 CLR 安全策略 修改默认值 给定区域的权限集

    所以我就这么做了,而且效果很好。以下是我如何让它工作的详细步骤:

    1. 打开控制面板 > 管理工具 > .NET Framework 2.0 配置
    2. 扩展运行时安全策略 > 机器 > 代码组 > All_Code
    3. 右键单击 All_Code 并单击新建...
    4. 创建一个新的代码组,我将我的命名为 MyProject_FullTrust_Zone
    5. 选择 URL 条件类型并指定将部署应用程序的网络路径。
    6. 选择使用现有权限集,并将其设置为完全信任。

    现在这种方法的唯一问题是我必须将此更改部署到数百台机器上。那么也许还有更简单的方法可以做到这一点?

    【讨论】:

    • 在托管桌面环境中,我看到了一个通过命令行修改 CasPol 的批处理脚本的部署。例如:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CasPol -q -machine -addgroup All_Code -url xbapserver/xbapvirtualdir* FullTrust -n XBAPSecurity -polchgprompt off
    • @David 这是我们一直在使用的,但它看起来很笨拙——确实应该有一种方法可以为用户提供“接受/拒绝”选项。需要安装的 Web 应用程序有什么优势?
    • 使用代码签名证书的目的是收缩包装受信任的应用程序,以确保它不被篡改。此外,如果您正在寻找部署到数百台机器上,为什么不通过 Active Directory 证书服务部署证书?
    【解决方案2】:

    它将是possible in .Net 4.0,计划在 2010 年上半年发布。它现在处于测试阶段,但它附带了一个 go live license,即使是测试版本,您也可以“上线” .Net 框架。

    【讨论】:

      【解决方案3】:

      虽然我没有尝试过,但是否将 XBAP 的路径添加为可信站点?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 2011-03-02
        • 1970-01-01
        • 2014-02-08
        • 1970-01-01
        相关资源
        最近更新 更多