問題タブ [c2wts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sharepoint - Performance Point/Excel Services での SharePoint Claims/c2wts の問題
ユーザーが既存の Web サイトから SharePoint にサインインできるようにするカスタム クレーム プロバイダーを作成しました。これにより、username@domain 形式の UPN のクレームを含むクレームが発行されます。ユーザーは、SharePoint Web アプリケーション web.config で有効mapToWindows
にしてuseWindowsTokenService
下に移動するまで、問題なくログインできます。samlSecurityTokenRequirement
この時点で、標準の SharePoint エラー メッセージが表示され、次の例外がトレースに表示されます。
渡された UPN クレームによって表される AD アカウントを無効にすると、そのユーザーとしてログインしようとすると、SharePoint に別の「アクセスが拒否されました」というエラーが表示されるため、c2wts 偽装部分は正しく機能していると思います。
また、SharePoint ログには、UPN が Windows AD アカウントに変換されたように見えます。これは、ログに次の情報が記録されているためです。
アップデート
これは、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 データのクエリに使用されるアカウントである必要があるため、固定の接続文字列を使用することは現実的ではありません。
sharepoint - Windows トークン サービスの偽装トークンに対するクレーム
クレーム ベースの SharePoint 2010 Web サイトを所有しており、バックエンドの非クレーム対応システム (K2 blackpearl) を呼び出す必要があります。
したがって、これを達成するために、ここで説明されているように、Windowsトークンサービスへのクレームを使用してユーザーになりすますことを試みています
ここで、ユーザー UPN を使用して c2wts を呼び出し、次のコードを使用して要求に変換します。
windowsIdentity.ImpersonationLevel が Impersonate ではなく Identification であることを偽装すると
これは、トークンを使用してサービスを呼び出そうとすると失敗するため、問題を引き起こしていると思います。上記の記事では、偽装されたトークンを取り戻す方法について説明していますが、私はこれを行うことができません。
私が間違っているかもしれないことを誰かが知っていますか?
ありがとう
sharepoint-2010 - Sharepoint Claims Base Athentication Webapplication のコードから Windows 共有にアクセスする
コードから他のマシンの共有リソースにアクセスしたい。私の環境は、クレーム認証モードで動作する Sharepoint 2010 WebApplication です。アプリケーションの Windows ID は NT AUTHORITY\IUSR です。ログインしたユーザーではないため、他のマシンのネット共有リソースにアクセスするには、偽装を実行する必要があります。偽装を実行するための有効な Windows トークンがないため、NT AUTHORITY\IUSR からアクセスできるように構成した Claims To Windows Token Service を使用する必要があります。サービスはローカル システム アカウントとして実行されています。次のコードを使用して、偽装を実行するために使用しているサービスから、偽装レベルの Windows トークンを取得できます。
サービスは適切にトークンを返し、次のコードを使用して現在ログインしているユーザーの ID を返すと、偽装が成功します。
sharepoint にログインしているユーザーのユーザー名を取得しています。
問題は、ネットワーク リソースにアクセスしようとすると、「アクセスが拒否されました」というエラーが発生することです。次のコードを使用してユーザーを偽装するために実際の資格情報 (ログインとパスワード) を提供しているため、c2wts を介した偽装のため、問題は確実です。
サーバー上の共有を問題なく列挙できます。
インターネットで見つけた情報から、サービスを適切に構成して別のサーバー上の sql データベースにアクセスするには、Active Directory でプロトコル遷移と制約付き委任を有効にし、その制約を mysql サービスに設定する必要があります。私が達成しようとしているのは、ユーザーのみがアクセス許可を持っている場合に、任意のマシン上の任意の共有にアクセスできるようにすることであるため、この場合に委任を有効にする方法はまだわかりません。
要約すると、Sharepoint Claims Based Authentication WebApplication 内からユーザーを偽装して、他のコンピューターのネット共有にアクセスしたいのですが、c2wts を使用した厳しい偽装でも成功しているようです (現在のユーザー名を確認すると、正しいユーザー名が返されます) アクセスできません他のコンピューター上のリソース。一方、コードで直接提供されたログインとパスワードを使用して偽装すると、すべて正常に機能しますが、それは私にとってオプションではありません。
wif - WIF と ADFS 1.0 を使用した ASP.NET Web の実装
バックエンドとして WCF サービスを使用して、ASP.NET フロントエンドでソリューションを開発しました。現在、Web サイトは ADFS 1.0 を使用して認証されています (ADFS の実装を制御することはできませんが、Web アプリケーション用に構成されています)。また、ADFS 2.0 にアップグレードするオプションはありません (少なくとも近い将来には)。
このための Web.config の構成は次のとおりです。
これは正常に機能し、ADFS のアカウントを使用してアプリケーションにアクセスできます。問題は、バックエンド WCF サービスにアクセスするために、このクレーム ID を WindowsIdentity に変換する必要があることです(偽装/委任で Windows 認証を使用します)。
ADFS 1.0 でこれを実現する方法はありますか? WIF (Windows Identity Foundation) を使用してみましたが、STS として ADFS 1.0 と併用できるかどうか明確な情報が見つかりません。「Windows NT トークン ベースのアプリケーション」オプション ( http://technet.microsoft.com/en-us/library/cc784956(v=ws.10).aspx )も調査しましたが、変更は避けたいと思います。可能であれば、現在の ADFS 実装で。
WIF オプションをテストするために、Web.config で次の構成を使用しました (websso の部分を削除しました)。
また、Web サーバー上で「Claims to Windows Token Service」(c2WTS) を実行しています。
ADFS サーバーにリダイレクトされますが、サーバーから一般的なエラーが表示されます。