2016-09-06 8 views
2

我有一个aspx网站,该网站已部署到SharePoint Server 2016并在另一台计算机上调用Windows服务(WCF)。 我想输入一个登录凭据,并使用此帐户对windows服务的请求。但是所有请求都具有带AppPool标识的安全令牌,而不是我的登录帐户。 我的web.config:Sharepoint 2016:IIS - 使用登录凭据身份而不是AppPool身份

<identity impersonate="true" /> 
<authentication mode="Forms" /> 
<authorization> 
    <allow users="*" /> 
    <deny users="?" /> 
</authorization> 

在IIS上,启用Windows身份验证,ASP.NET模拟和匿名身份验证(这是由SP 2016需要访问本地资源)。

当打开网站,登录表格被打开让我输入帐号,我添加日志默认页面提取上下文的身份,他们分别是:

  • 的HttpContext,SPContext,螺纹校长,WindowsPrincipal用户都是我的登录帐号 - >确定预期
  • 不过的WindowsIdentity是应用程序池的身份 - > NOK
  • 和WCF请求令牌是应用程序池的身份 - > NOK

那么如何配置/代码以便能够将登录帐户设置为WCF请求令牌?

谢谢。

回答

0

您必须自己构造外部服务(在您的情况下为WCF服务)所需的令牌。

在从Visual Studio中的SharePoint创建标准SharePoint插件项目中添加的模板,所有这些代码是由微软提供的SharePointContext.csTokenHelper.cs文件。您可以研究这两个文件,作为SharePoint外接程序如何构建OAuth令牌等的示例。