次の方法で共有


プリンシパル オブジェクトの置き換え

更新 : 2007 年 11 月

認証サービスを提供するアプリケーションは、特定のスレッドについて Principal オブジェクトを置換できる必要があります。さらに、Principal オブジェクトを置換する機能をセキュリティ システムで保護する必要があります。これは、悪意を持ってアタッチされた不正な Principal オブジェクトが偽の ID やロールを提示することにより、アプリケーションのセキュリティが侵害される可能性があるためです。このため、Principal オブジェクトを置き換える能力が要求されるアプリケーションには、プリンシパルの制御のために System.Security.Permissions.SecurityPermission オブジェクトを与える必要があります。ただし、ロール ベースのセキュリティ チェックを行うときや Principal オブジェクトを作成するときには、この許可は必要ありません。

現在の Principal オブジェクトは、次のタスクを実行することによって置き換えることができます。

  1. 通常は認証の実行後に、置換する Principal オブジェクト、および関連付けられた Identity オブジェクトを作成します。

  2. 新しい Principal オブジェクトを呼び出しコンテキストに結合するコード例を次に示します。

    Thread.CurrentPrincipal = principalObject;
    
    Thread.CurrentPrincipal = principalObject
    

参照

概念

プリンシパル オブジェクトと ID オブジェクト

参照

System.Security.Permissions.SecurityPermission