0

これはおそらく、AD FS 2.0クレームルールの設計に関する非常に基本的な質問であり、(初心者)に対する答えは見つかりませんでした。私はおそらく非常に基本的なものが欠けていますが、ここに行きます。

企業内にフェデレーションを展開しています。会社のユーザーは、WebアプリケーションA、B、Cなどを参照できます。各アプリには独自のサブドメインURLがあります(例:app-a.company.org、app-b.company.orgなど)。信頼できるSTSランディングページにリダイレクトします。リターンURLをSTSに渡します。STSクレームルールで、その戻りURLを抽出し、データベースルックアップを実行します。たとえば、現在のユーザーとURL "app-a.company.org"のアプリケーションの場合、ユーザーがそのアプリケーションで持つすべての役割が必要です(例:管理者、スーパーユーザー、購入者、何でも)。

私の質問は次のとおりです。

  1. リターンURLをSTSに渡すにはどうすればよいですか?
  2. クレームルールを作成するにはどうすればよいですか?(データベースを検索して結果を発行する方法は知っていますが、クレームルールでリターンURLまたはその他のカスタムパラメーターを取得する方法はわかりません)。

乾杯、

ライナス

4

1 に答える 1

0

もう少しわかったので、自分の質問に答えます。ほとんどの場合、この問題は用語に関する混乱のようです。

STS内のすべてのアプリケーションに対してグローバルルールを作成する必要があるという印象を受けました。これはそうではありません。代わりに、個別のアプリケーションのルールを作成することができます(これらのアプリケーションは、ADFSの用語ではRelyingPartyTrustsとして知られています。つまり、STSが発行するクレームを信頼するエンティティです)。STSとアプリケーションの関係は1:1です。

私の場合、より多くの属性を取得するために後でデータベース(別名属性ストア)にクエリを実行する必要があったため、一意の識別子として機能するアプリドメインが必要でした。アプリケーション固有のルールを記述でき、STSとアプリの関係は1:1であるため、ドメイン名をハードコーディングしてルールを作成しただけです。

したがって、上記の番号付きの質問に答えるには、次のようにします。

  1. Relying Party Trustの関係は、2つの間の永続的な接続として機能するため、STSに渡す必要はありません。
  2. 単純な無条件の発行(または追加)クレームルールをハードコーディングします。=> issue(type = "http://myclaims/appdomain", value = "app-a.company.org")
于 2012-06-22T10:04:34.533 に答える