2016-09-06 14 views
2

共有ポイント2016サーバーに展開され、別のマシンでWindowsサービス(WCF)を呼び出すaspx Webサイトがあります。 ログイン資格情報を入力して、このアカウントをWindowsサービスへのリクエストに使用したいとします。しかし、すべてのリクエストには、ログインアカウントではなく、AppPool IDを持つセキュリティトークンがあります。 私のweb.configファイル:IIS上でSharepoint 2016:IIS - AppPool IDの代わりにログイン資格情報IDを使用する

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

は、私はWindows認証、ASP.NET偽装と匿名認証が(これはローカルリソースにアクセスするためにSP 2016年までに必要とされる)を有効にします。

ウェブサイトオープン、ログインフォームが、私はアカウントを入力することができます開いているとき、私はコンテキストのIDを抽出するためのページをデフォルトにログを追加し、彼らは、次のとおりです。

  • のHttpContext、SPContext、スレッドプリンシパル
  • 予想通り> OKだがWindowsIdentityは、アプリケーションプールのIDです - - 、のWindowsPrincipalユーザーはすべての私のログインアカウントです> NOK
  • そして、WCF要求トークンは、アプリケーションプールのIDです - > NOK

WCFリクエストトークンにログインするアカウントを設定できるように/コードを設定するにはどうすればよいですか?

ありがとうございます。

答えて

0

外部サービス(あなたの場合はWCFサービス)に必要なトークンを自分で構築する必要があります。 Visual StudioのSharePointのアドインテンプレート、すべてこのコードはSharePointContext.csTokenHelper.csファイルとしてMicrosoftから提供されてから作成された標準のSharePointアドインプロジェクトで

。 SharePointアドインがOAuthトークンなどを構築する方法の例として、これらの2つのファイルを調べることができます。

関連する問題