我有一个使用标准Visual Studio 2013 PHA模板编写的内部部署,高信任度提供商托管应用程序(PHA)。我已经按照Kirk Evans在他的博客中提供的High-Trust / S2S应用程序的配置步骤进行了操作:
在我添加服务来托管AppInstalled事件的事件接收器之前,所有工作都按预期工作而不需要进行修改。当我尝试在启用事件的情况下安装应用程序时,我从SharePoint收到以下错误:
远程事件接收器标注失败。详细信息:HTTP请求是 未经授权的客户端身份验证方案'匿名'。从服务器收到的身份验证标头是“NTLM; Negotiate”。
开箱即用的PHA未配置为在其服务绑定中支持匿名身份验证。当我通过web.config添加对匿名身份验证的支持时,应用程序将安装并且所有事件接收器逻辑都按预期执行,包括将列表和安全组添加到主机Web的CSOM调用。
这让我有一个由两部分组成的问题:
TIA
答案 0 :(得分:1)
High-Trust / S2S应用程序事件接收器肯定需要匿名访问。
您可以使用HTTP来保护与App Event接收器的通信。建议阻止从外部域访问应用程序事件接收器,因为SharePoint将从网络中调用Web服务。