使用 Microsoft Business Connectivity Services (BCS),您可以将业务数据建模到外部内容类型中,从这些外部内容类型创建外部列表以及在 Microsoft Office 应用程序(例如 Microsoft Outlook 和 Microsoft SharePoint Workspace)中脱机使用此业务数据。您可以通过 Business Connectivity Services 简单解决方案的形式将此数据脱机,然后在客户端计算机上安装它。本主题讨论此 BCS 解决方案的本质,并提供重要信息来帮助您确保简单解决方案的无缝部署体验。
上次修改时间: 2015年3月9日
适用范围: SharePoint Server 2010
本文内容
ClickOnce 应用程序中的安全性
基于安全区域的用户提示
避免由默认提示策略导致的部署失败
Business Connectivity Services 解决方案部署的先决条件
Business Connectivity Services 解决方案部署的浏览器支持
在单击外部列表上的"连接到 Outlook"或"同步到 SharePoint Workspace"按钮时,首先将与外部列表相关的所有项目打包到一个 ClickOnce 应用程序包中,然后该包成为我们的 Business Connectivity Services 解决方案。因此,Business Connectivity Services 解决方案本来就是一个 ClickOnce 应用程序,控制常规 ClickOnce 应用程序的所有规则、规范和限制适用于 BCS 解决方案。创建此 ClickOnce 应用程序并满足客户端所需的必备组件后,可使用 Visual Studio 2010 Office 解决方案安装程序来安装 ClickOnce 应用程序。
ClickOnce 应用程序中的安全性
ClickOnce 安全模型依赖于受信任的发布者或用户提示来确定权限的提升,从而允许将 ClickOnce 应用程序部署到客户端。如果 ClickOnce 应用程序是由受信任的发布者签名,则应用程序无需提示即可自动提升自己的权限并继续安装。不过,如果应用程序不是由受信任的发布者签名,则 ClickOnce 不会自动信任此应用程序,并提示您确认是否要安装此应用程序。不过,此提示不是自动的,也不保证显示此提示:它是由从中安装 ClickOnce 应用程序的安全区域决定的,如下节中所述。
基于安全区域的用户提示
ClickOnce 利用代码访问安全(请参阅 ClickOnce 应用程序的代码访问安全确定部署体验,例如是否应显示询问您是否要安装解决方案的提示。)默认情况下,ClickOnce 依赖于 Internet Explorer 中定义的五个内置安全区域:
MyComputer
LocalIntranet
Internet
TrustedSites
UntrustedSites
代码访问安全使用这些区域为提示级别和行为做出信任决策。每个区域由部署清单文件的完整路径地址确定。对于 Business Connectivity Services,这是外部列表中 解决方案的 URL。表 1 显示了示例 URL 及其相应的安全区域。
表 1. 部署清单文件的示例 URL
ClickOnce 应用程序 URL |
安全区域 |
|---|---|
C:\contoso\clientsolution\customer.vsto |
MyComputer |
http://contoso/clientsolution/customer.vsto |
LocalIntranet |
\\contoso\clientsolution\customer.vsto |
LocalIntranet |
http://fabrikam.contoso/clientsolution/customer.vsto |
Internet |
https://www.contoso.com/clientsolution/customer.vsto |
Internet |
\\127.0.0.1\clientsolution\customer.vsto |
Internet |
安装 ClickOnce 应用程序之前是否向用户显示提示取决于安全区域,如表 2 中所示。
表 2. 按安全区域划分的提示行为
安全区域 |
默认信任提示行为 |
|---|---|
MyComputer |
允许用户提示 |
LocalIntranet |
允许用户提示 |
Internet |
不允许任何用户提示,除非 签名该解决方案的证书的颁发者是受信任的证书颁发机构 (CA) |
TrustedSites |
允许用户提示 |
UntrustedSites |
不允许任何用户提示,除非 该解决方案由受信任的 证书签名,该证书的颁发者是受信任的 CA |
有关安全区域和如何处理提示的详细信息,请参阅配置 ClickOnce 受信任的发布者(该链接可能指向英文页面),并特别注意"进入区域"一节。
默认部署体验使用自签名证书对 Business Connectivity Services 解决方案进行签名。由于证书是自签名的,因此它不是来自受信任的 CA。对于 LocalIntranet 和 Internet 区域,这将导致以下默认体验:
如果外部列表在 LocalIntranet 区域中,则在使其脱机时,将显示"无法验证发布者"的提示,如图 1 中所示。
图 1. Intranet 区域中未知发布者提示
.gif)
如果外部列表在 Internet 区域中,将不会出现提示,部署将失败并出现"安装 Office 自定义项"错误,如图 2 中所示。
图 2. Internet 区域中未知发布者提示
.gif)
避免由默认提示策略导致的部署失败
若要解决前一节中描述的部署失败,您可以选择执行以下任一操作:
在企业方案中,管理员可以提供 CA 颁发的证书,以用于签名 Business Connectivity Services 解决方案。有关如何执行此操作的详细信息,请参阅如何:在使外部列表脱机时消除"无法验证发布者"警报。
在企业方案中,如果管理员需要与前面描述的默认策略不同的提示策略,也可以通过其组策略基础结构来推行信任提示策略。
用户可以将 SharePoint 网站添加到 Internet Explorer 中的受信任的站点或本地 Intranet 站点的列表。不过,不建议对每个站点执行此操作,应只对用户信任的站点执行此操作。
用户可以添加定义所需行为的 PromptingLevel 注册表项。有关如何执行此操作的详细信息,请参阅How to: Configure Inclusion List Security。
警告如果已在 64 位计算机上安装 32 位版本的 Office 2010,应在相应的 Wow6432Node 节点中创建注册表项。
Business Connectivity Services 解决方案部署的先决条件
只能从具有已安装企业版客户端访问许可证的 Microsoft SharePoint Server 2010 的服务器执行从外部列表连接到 Outlook 2010 或 SharePoint Workspace 2010 的操作。不支持所有其他服务器,例如运行 Microsoft SharePoint Foundation 2010 的服务器。若要将 Business Connectivity Services 解决方案部署到客户端计算机,客户端计算机必须已安装 Microsoft Office Professional Plus 2010 或 Outlook 2010。以下是将外部列表连接到 Outlook 或 SharePoint Workspace 的其他要求:
Microsoft .NET Framework 3.5
支持 .NET Framework 3.5 Service Pack 1。如果未安装 .NET Framework 3.5,则当您尝试将外部列表连接到 Outlook 时,将显示图 3 中所示的安装错误消息:
图 3. 未安装 NET Framework 3.5 错误消息
.gif)
并且 SharePoint Workspace 将显示以下错误:
图 4. SharePoint Workspace 中的未安装 .NET Framework 3.5 错误消息
.gif)
Business Connectivity Services (BCS)
默认情况下,在安装 Office Professional Plus 2010 时安装 Business Connectivity Services。不过,Business Connectivity Services 依赖于 .NET Framework 3.5,因此如果安装 Office 时未安装 .NET Framework 3.5,则不会安装 Business Connectivity Services。如果尝试将外部列表脱机,则将显示前面图 4 中显示的 .NET Framework 3.5 错误消息。这是由于安装程序首先检查 .NET Framework 3.5 并检测它未安装。
如果最终安装 .NET Framework 3.5 然后将外部列表脱机,则将启动 Business Connectivity Services 的按需安装。此时,将配置 Office,然后将启动 Visual Studio 2010 Office 解决方案安装程序以安装该解决方案。
如果已安装 .NET Framework 3.5 但不希望安装 Business Connectivity Services(通过在"Office 安装选项"中的"Office 共享功能"下将它标记为"不可用"),则在尝试将外部列表与 Outlook 断开时,将显示图 5 中显示的错误消息。
图 5. 未安装 Business Connectivity Services 错误消息
.gif)
SharePoint Workspace 将显示图 6 中显示的安装错误消息。
图 6. SharePoint Workspace 中的未安装 Business Connectivity Services 错误消息
.gif)
Business Connectivity Services 解决方案部署的浏览器支持
将外部列表脱机的机制利用 ActiveX 控件检查前面提到的先决条件。因为只有 Internet Explorer 支持 ActiveX 控件,所以仅在 Internet Explorer 中支持将外部列表脱机。在其他浏览器(例如 Firefox)中,"连接到 Outlook"和"同步到 SharePoint Workspace"按钮处于禁用状态,如图 7 中所示。
图 7. 在除 Internet Explorer 之外的浏览器中用于将列表脱机的按钮是禁用的
.gif)