我正在使用高信任模型构建SharePoint 2013提供程序托管的应用程序。这允许客户将.app部署到他们的应用程序目录,并使其可供所有SharePoint站点使用。应用程序的提供程序托管部分在IIS框(集群)中运行,客户还使用安装说明和自动化工具部署(内部部署)。
.app文件结构包括应用程序清单 - 它指定提供程序托管部分所在的精确端点,还指定加载项可以调用的列入白名单的端点。这些都是通过在“部署应用程序”中的Visual Studio中的URL编辑字段中输入URL,主机名和端口号来指定的。在.app文件构建和数字签名之前的表单。
对于内部IT人员构建的单个应用程序,如果组织足够小,这似乎工作得很好......但我真的希望能够将此解决方案分发给多个客户。为了做到这一点,我将不得不向客户询问他们各自的端点,将它们输入到我的构建工具中,并为它们重建.app。这似乎并不合适......没有客户想先与开发人员交谈并拥有一个定制的应用程序。他们为什么要这样?没有代码正在改变......
调查.app文件格式后,事实证明它实际上只是一个简单的.zip文件 - 而且里面(瞧!)有应用程序清单!不幸的是,如果您编辑应用程序清单并重新压缩文件,则数字签名将被破坏,并且.app不再有效。 (GRRRR ...)
我想要做的只是重新配置应用清单以匹配部署它的环境。这可以在设置/安装期间以编程方式发生,或者甚至可能在下载之前发生,但不能是涉及开发人员键入visual studio并按下Rebuild的过程。这简直不会扩大规模。
是否存在可以帮助解决此问题的工具?如果没有,有没有人有编程方式签署.app文件的经验?我打算以任何可能的方式给这只猫上皮。
答案 0 :(得分:0)
这是一个疯狂的想法,甚至可能无法实现。
创建web ui,客户端进入其端点。
让内部流程调用MSBUILD / TFS将应用程序打包到端点
然后通过电子邮件或下载提供应用程序?
http://www.sharepointconfig.com/2013/10/building-sharepoint-2013-apps-with-tfs-2013/
答案 1 :(得分:0)
这更像是一种解决方法,而不是一个真正的答案 - 但是可行:
对于高可信赖SharePoint 2013应用程序的内部部署 - 使用“已知端点”构建应用程序 - 基本上可以在本地部署的硬编码端点。然后指示客户使用DNS记录或hosts
文件条目重定向这些端点。此外,客户端需要生成由其自己的受信任根签名的本地通配符证书,以满足SharePoint 2013应用程序模型对appdomain和服务器到服务器通信的要求。
这绝不是理想的,但对于某些环境,它可能是最实用的方法。这也允许将IIS WebApp扩展到客户站点,它实际上属于高信任度的应用程序。
这种方法避免了自动化构建工具的需要,也避免了为每个客户构建单独的实例 - 这两者都有些不受欢迎。出于这些原因,它可能会稍微降低成本 - 但它也会给客户带来一些责任。即 - 为拓扑中的计算机本地硬编码DNS条目。