0

現在、クレーム ベースの認証を検討しており、WIF を使用してカスタム STS をテストしています。

クレームをデータベースに保存する方法について説明してきました。多くの単純な例では、クレームは User への FK を持つ単一のテーブル (UserProfile など) に単純な属性として格納されます。次に、クレームが生成されます。クレーム タイプは URL と列名 (たとえば、http://.../claims/email ) であり、値はもちろんデータベースからの値です。

しかし、もっと複雑な例が必要です。クレームをデータベースに保存する方法をいくつか教えていただけますか? すべてのクレーム タイプを含むテーブルと、各ユーザーの値を含むテーブル (ユーザーへの FK を含む) のようなものを考えていました。しかし、ここでは本当にインスピレーションが必要です。そのため、共有できるものは何でも大歓迎です。しかし、繰り返しになりますが、これは非常に「フラットな」構造です...

アップデート

簡単なモデルを作ってみました: http://imageshack.us/photo/my-images/690/suggestionn.png/

申し訳ありませんが、まだ画像を投稿できません。

これは単純な主張に適していると思います。しかし、私が「ネストされたクレーム」と呼んでいるものがあるとしたらどうでしょう。クレーム タイプが、クレーム タイプ "ドキュメント" のリソース "人員" に対するユーザーの権利を説明するクレームをユーザーが持っていることを示しているとします。それはそのモデルを使用して説明できますが、その主張をさらに説明したい場合はどうでしょう。ユーザーがリソース「Personnel」へのアクセスレベル 5 を持っているとします。それがどのように可能かわかりません。何か案は?

4

1 に答える 1

0

あなたが考慮したいと思うかもしれない2つの事柄:

異なる依拠当事者(RP)は、同じユーザーに対して異なるクレームのグループを生成できます。したがって、クレームタイプにリンクするRPテーブルが必要です。

(注:wtrealmパラメーターを使用してどのRPを区別できます)。

また、クレームタイプは1対多にすることができます。... /claims / groupsのタイプがあり、ユーザーが複数のグループに属している場合、このクレームタイプの複数のインスタンスが存在します。

Identity Serverがこれをどのように実装するかを見ましたか?SQLDBを使用します。

于 2011-11-23T21:10:28.253 に答える