2017-06-01 10 views
0

私はB2B SaaSアプリケーションを構築しており、認証を実装しようとしています。DotNetCore IDマルチテナント(役割あり)

ユーザは自分自身のloginを持ち、少なくとも1つのaccountに関連付けられます。その人物に固有のloginと、組織/課金実体に固有のものは、accountである。多くの場合、loginsaccountのメンバーになり、単一のloginは多数の多くの単純な関係のaccountsにアクセスできます。

IDロールとクレームでこの作業を行うにはどうすればよいですか?

login Aは、ボックスのアイデンティティシステムのアウトがあるかの私の理解から、読み取り専用のユーザーとして、管理者とaccount Bとしてaccount Aに関連付けられている場合、私はかなりの周り私の頭を取得することはできません私のエッジケースのシナリオがありますlogin Aaccount Bの下で作業している場合、ロール/クレームの実装がマルチテナントではないため、彼の役割は管理者として誤って報告され、読み取り専用ユーザーとしては報告されません。

私はこのことについてかなり掘り下げており、単一のテナントの下で1人のユーザしか操作しない場合の情報/例を見つけることができます(システム内に複数のテナントがあります)。

誰かが正しい方向に私を指し示すことができますか、または私はボックスの身元確認システムを使用しようとして間違ったツリーを吠えていますか?

+0

私は自分のシステムを構築することは、箱の身元確認システムのまわりで作業するよりも時間がかかりそうだと思います。 – Thibault

答えて

0

新しい身元確認システムでrolesはちょうどclaimsです...しかし、このシナリオでは役割はあなたの友人ではありません。クレームはあなたがあなたのログインを使用するときは、アカウントAのxクレームとアカウントBのyクレームを追加します。その後、Acccount Aでその特定のクレームを確認し、適切に承認します。

例:

over18、canwrite_accountA

アカウントBの特許請求の範囲は

ようにすることができるように

アカウントAの特許請求の範囲があり得るread_only_account_B

このようにして、ユーザーは、あなたが承認するクレームに基づいて適切なアクセス権を持っている必要があります。

+0

許可を決定するために文字列を解析していますか?何とかそれは非常にきちんとした解決策のようには見えません! –

関連する問題