ヒントと既知の問題
最終更新日: 2010年4月27日
適用対象: SharePoint Foundation 2010
ヒントと既知の問題
このトピックでは、セキュリティおよびクレームに関連するヒントと既知の問題に関する情報を提供します。
SharePoint サイトで ASP.NET 式の使用をロック ダウンする方法
デザイナーは、web.config ファイルのデータにアクセスできるドキュメント ライブラリに .aspx ページをアップロードできます。web.config に機密データを保存している場合は、ASP.NET 式ビルダーを無効にするか、そのデータを他の場所に移動することを検討してください。
セキュリティ トークン サービスのアプリケーション プール アカウント、およびカスタム クレーム プロバイダーの呼び出し
カスタム クレーム プロバイダーがアプリケーション サービス オブジェクト モデルを呼び出す場合、データベースに直接接続するアプリケーション サービスでは、セキュリティ トークン サービス (STS) のアプリケーション プール アカウントに対してデータベース アクセス権が付与されていなければならない可能性があります。
FillClaimsForEntity() メソッドは、常に次のどちらかの ID として実行されます。
STS アプリケーション プール ID
スレッド ID (サイト コレクションにログインしているユーザー。contoso\user1 など)
FillClaimsForEntity() メソッドのカスタム コードが、データベースに直接接続するサービス アプリケーション (データベースに接続するユーザー プロファイル アプリケーションなど) のオブジェクト モデルにアクセスする場合、サービス アプリケーション データベースに接続するためのアクセス許可が、STS アプリケーション プール ID アカウントまたはスレッド ID アカウントに付与されていないと、オブジェクト モデルへの呼び出しは失敗します。
クレーム プロバイダーのカスタム実装が、データベースに直接接続するサービス アプリケーションのオブジェクト モデルにアクセスする場合も、サービス アプリケーションのデータベースに対するアクセス許可が STS アプリケーション プール アカウントに必ず必要です (また、サービス アプリケーション プール アカウントにも同じアクセス許可が必要です)。
Web ページ ダイアログに表示するクレーム プロバイダー名
CreatePickerEntity() メソッドを使用して選択エンティティを作成します。これは、メソッドの検索および解決で使用されるヘルパー関数です。
クレーム プロバイダー名をユーザー選択ウィンドウ コントロールの [ユーザーとグループの選択 - Web ページ ダイアログ] に表示するには、PickerEntity インスタンスの Claim プロパティを設定するときに CreateClaim() ヘルパー メソッドを使用します。これにより、ダイアログに、カスタム クレーム プロバイダーのプロバイダー表示名プロパティの値が表示されます。これを行わないと、Web ページ ダイアログにはクレーム プロバイダー名が表示されず、エンティティ グループ名とコロンのみが表示されます (つまり、コロンの後ろにクレーム プロバイダー名が表示されません)。ダイアログにカスタム エンティティ グループ名を表示するには、PickerEntity インスタンスで EntityGroupName プロパティを設定します。
エンティティ グループ名の詳細については、「EntityGroupName プロパティ」を参照してください。
セキュリティ トークン サービスの検証メソッドと取り消しメソッド
Microsoft SharePoint Foundation は Windows Identity Foundation (WIF) から Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService 基本クラスを継承します。SharePoint Foundation は、WIF セキュリティ トークン サービス (STS) API を無効にして独自の SharePoint STS セキュリティ トークンを発行しますが、Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService.Validate メソッドと Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService.Cancel メソッドは SharePoint Foundation では実装されていないことに気を付けてください。この 2 つのメソッドは今後サポートされる予定です。