1

ユーザーが既存の Web サイトから SharePoint にサインインできるようにするカスタム クレーム プロバイダーを作成しました。これにより、username@domain 形式の UPN のクレームを含むクレームが発行されます。ユーザーは、SharePoint Web アプリケーション web.config で有効mapToWindowsにしてuseWindowsTokenService下に移動するまで、問題なくログインできます。samlSecurityTokenRequirementこの時点で、標準の SharePoint エラー メッセージが表示され、次の例外がトレースに表示されます。

Exception fetching current thread user in SPUtility.CacheClaimsIdentity: Exception of type 'System.ArgumentException' was thrown.
Parameter name: identity    0.00143314303912927 0.001357
Runtime Tag(tkau) System.ArgumentException: Exception of type 'System.ArgumentException' was thrown.
Parameter name: encodedValue
  at Microsoft.SharePoint.Administration.Claims.SPClaimEncodingManager.DecodeClaimFromFormsSuffix(String encodedValue)
  at Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(String encodedSuffix)
  at Microsoft.SharePoint.ApplicationRuntime.SPHeaderManager.AddIsapiHeaders(HttpContext context, String encodedUrl, NameValueCollection headers)
  at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PreRequestExecuteAppHandler(Object oSender, EventArgs ea)
  at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
  at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

渡された UPN クレームによって表される AD アカウントを無効にすると、そのユーザーとしてログインしようとすると、SharePoint に別の「アクセスが拒否されました」というエラーが表示されるため、c2wts 偽装部分は正しく機能していると思います。

また、SharePoint ログには、UPN が Windows AD アカウントに変換されたように見えます。これは、ログに次の情報が記録されているためです。

Verbose  ____Current User=i:DOMAINNAME\SSO_administrator    7b4eac31-d017-429c-87f2-a3100ece6797

アップデート

これは、SharePoint 内での使用がサポートされていない設定のようです。ただし、設定をオフのままにしておくと、SharePoint サイトに埋め込まれた Performance Point および Excel Services のレポートが正しく機能しないようです。次のようなエラーが表示されます。

  • The data connection uses Windows Authentication and user credentials could not be delegated.(エクセル)
  • $Resources:ppsma.ServerCommon, ErrorCode_DataSourceCannotGetWindowsIdentityForNonWindowsClaim;(パフォーマンス ポイント SSRS レポート)

これを回避する方法はありますか?ユーザーの UPN が、これらの背後にある SSAS データのクエリに使用されるアカウントである必要があるため、固定の接続文字列を使用することは現実的ではありません。

4

2 に答える 2

0

mapToWindows 構成値が SharePoint 内でサポートされていないことが判明しました。SharePoint の各部分がクレームを認識し、トークン自体を変換することに依存する必要があります。PerformancePoint と Excel Services はクレームに対応していないため、これは少し面倒です。そのため、SSAS キューブに AD セキュリティが必要な場合、Windows 認証を使用することになります。

于 2011-12-08T14:02:51.803 に答える