0

私が現在取り組んでいるアプリケーションは、従来のWindows認証モデルを使用する巨大なASP.NET MVC Webアプリケーションです。 Identity Server 3とOpen ID Connectを使用してシングルサインオンモデルに移行しようとしています。Identity Server 3を使用したユーザーグループへのアクセスの提供

私の質問には、アイデンティティ・サーバーを使用する際にユーザー・グループ単位でアクセスを提供する方法がありますか?ここでの問題は、自分のユーザーグループがロールベースまたはActive Directoryグループのいずれかであることです。私はInMemoryGroup(InMemoryUserに似ています)のようなものを探しています。

役割がベースかないことができ、ユーザーのグループのために次のことを模倣何か:

​​

私は比較的アイデンティティServerとOpen IDの接続に新しく、オンライン何かを見つけることができないんだと希望どんなリードにも本当に感謝しています。

答えて

1

ユーザーがグループのメンバーであるという事実を表現するには、単にクレームを追加します。あなたは次のものを追加することができます:

new Claim("Group", "Hogwarts Student") 

あなたのメモリユーザーに。この請求は、ハリーが "Hogwarts Student"グループのメンバーであることを示しています。ここでは、あなたが気づきたいことがいくつかあります。

new Claim(string claimType, string claimValue) 

Identity Serverには、Constantsクラスに標準的なものがいくつか用意されていますが、自分で作成することもできます。あなたはハリーが「グリフィンドールハウス」グループに含まれていたかどうかを確認したい場合は、あなただけの請求タイプ請求のあるリストを検索したい

new Claim("Group", "Hogwarts Student"), 
new Claim("Group", "Gryffindor House) 

を持つことができますので、また、あなたは、複数のグループの主張を持つことができます「Group」に等しく、請求値は「Gryffindor House」に等しい。

最後に、グループと役割の違いは、一般的に、アプリケーションのセマンティクスの問題です。一般に、アプリケーションの「管理者」ロールを実行できるユーザーのセットは単なるユーザーグループです。これは、アプリケーションが、そのグループをロールにするグループのユーザーを扱う方法です。

+0

私の使用例で動作します:)回答として受け入れます –

関連する問題