2011-12-16 20 views
3

私はクラックすることができなかった面白い状況があります。ここでは、アプリケーションのメインホストであるSharePoint 2010のイントラネットを持っているに。セキュリティモデル - SharePoint 2010 WCFサービスを呼び出すSilverlight Webパーツ

私のSilverlightアプリケーションを実行する環境です。 Webパーツページには、アプリケーションを含むSilverlight Webパーツがあります。クライアントオブジェクトモデルを使用して、SharePointユーザーがログインしているユーザーを推測します。このアプリケーションのユーザーは、ログインに使用するADドメインのSharePointサイトOUTSIDEにアクセスします。彼らはADアカウントを持っていますが、彼らのコンピュータは様々なドメインの一部です。 Silverlightアプリケーションは、SOAPプロトコル経由でhttpsを介してWCFサービスを呼び出します。

、どのように私は唯一の有効な要求者は、SharePointログインしているユーザーのコンテキスト内から呼び出されたSilverlightアプリケーションであるようにサービスを保護しますされて疑問?

各エンドユーザは、彼らのために作成されたADアカウントを持っています。 SharePointサイトは、各ユーザーがAD資格情報を使用してログインする必要のあるエクストラネットです。ただし、ドメインの一部であるコンピュータからエンドユーザーがサイトにアクセスすることはありません。

私はWindows認証を使用しようとしてきましたが、我々は、彼らがすでにSharePointのにログインした後に、ユーザが(Webサービスへの)ログインするように要求されてはならない要件があります。私は、クライアントオブジェクトモデルを使用して認証/資格情報をサービスに渡そうとしましたが、そこには運がありません。

私たちは、私たちが生きるために行く前に、匿名認証を無効にする必要があり、私は、ユーザーがアプリケーション内で2回目にログインするサービスを確保ではなくする方法を見つけ出すようになってきました。セキュリティ上の理由により、任意の外部サービスへのあなたはカントボックス、Silverlightのカントデリゲートのうち

答えて

0

。あなたができることは、他の方法(例えば、証明書ベース)でWCFチャンネルを保護し、現在のユーザー名を手動で送信することです。 SharePointエンドでは、そのユーザーを偽装することができます。

これは非常に面倒なことですが、行くには:)

関連する問題