2012-05-11 13 views
0

私のSaaS Webアプリケーション用の認証/認証モジュールが必要で、WIFの外観が好きです。 問題は、Active Directoryとは別に、プラグアンドプレイで申し立てを行う方法がないように見えることです。私の考えはIdentityServerを使用し、ASP.NETメンバーシッププロバイダのリポジトリを私自身のものに置き換えることです。ADを使用せずにSTSサーバーにクレームを提供する方法

トリックは、多くの異なる顧客に直面

  • アプリのインターネットです。 (ADFS2は該当しません)。
  • ロールではなく、グレアラール操作レベルの権限が必要です。 (だからASP.NET Membershipは適していません)
  • 私は自分のアプリケーション内のユーザーが自分のサブセットを管理したいと思っています。

ビルドするつもりのビットは、以下の「クレームサーバー」というピンク色のボックスです。

IClaimsServiceは、新しいユーザーの作成、役割の作成、役割へのアクセス許可の割り当て、ユーザーの役割への割り当てなどを許可します。私自身のアプリケーション私の質問がある

などIClaimsServiceにプラグイン管理画面をauthおよびサブユーザーを作成するには、ユーザー権限認証う - これは有効なアーキテクチャであるか、私は完全にWIFのポイントをしないのですか?

または見つからない代替プラグアンドプレイオプションがありますか? 私は車輪を再発明しないとうれしいです!

IdentityServer architecture

追加情報

私のウェブアプリは私の顧客が独自のデータの壁に囲まれた庭園の中に、自分のユーザーを作成できるようにする必要がSaaSのです。

例えば、募集ソフトウェアプラットフォームのように、システムに自分のクライアントを持つ募集者の競合チームがあるとします。 1つのチームは別のチームのデータをピークにすることはできませんが、各チームは独自のユーザーのサブセットを管理して管理できます。プラットフォームを使用する多くの異なる企業が存在する可能性があるため、これを管理するIT部門/ドメインの中心はありません。それはすべてセルフサービスです。

netsqlazmanは私が望んだものに近いですが、Windows Identity Foundationは新しい顧客につながり、認証のために自分のSTSを接続できるようになるにつれ、より長期的な利点があるようです。

+1

いいアーキテクチャです。完全な認可/許可モデルを既に実装しているので、https://github.com/hibernating-rhinos/rhino-securityを参照することを検討してください。 – Henrik

+0

Btw、これを追求しているなら、私はそれをメッセージングでうまく演奏させることに興味があります。 – Henrik

+0

ああ - Rhino Securityは絡み合っているように見えますが、私はすでにこのシステムを構築しています。私の無知を許しなさい - 何が「メッセージでうまくいくのですか」?私はGitHubでそれを投げることをおもしろいですが、最初にコンセプトを洗練する必要があります。 – fiat

答えて

1

あなたは、WIFが正しい道を長期間に渡って設定することは正しいと思います。クレームベースのアイデンティティーはここにあり、すべてのものが収束しています。 WIFはこれまでよりも実装がずっと簡単です。

私がお勧めするのは、最も簡単なことから始めることです。それは、まずクレームを使ってユーザーを認証することです。次に、ユーザーハンドル(電子メールやuser_idなど)を、アプリケーションで構築したどのような認可アーキテクチャに関連付けるかを指定します。メンバーシップ、カスタムデータベースなど

説明したプロビジョニングと自己管理はすべてアプリ固有のもので、アイデンティティプロバイダ(IdentityServerなど)とは何の関係もありません(たとえば、WIF:SAMLトークン、WS-Federationなどと互換性のあるもの)。

この簡単な手順は、時間の経過とともに洗練されたソリューションへの基盤を準備し、わずかな労力ですぐに価値を提供することを可能にします。たとえば、自分の社会的アイデンティティを持つユーザーがサイトにログオンできるようにすることができます。あなたはまだあなたのアプリで "[email protected]" - > "ユーザーを管理できる"と定義します。

時間の経過と共に、あなたはさらに外出できる共通の再帰的な属性(ロールなど)が見つかります。あなたが提案したような何かが意味をなさないでしょう。

説明:ADFS はADに対してのみを認証しますが、データベース(LDAP、カスタムなど)はどこからでも属性を取得できます。

+0

Eugenioに感謝します - 私は正しい道を知っています。私は現在、認証ビットを構築しており、WIFがどのようにしっかりとプラグインするかを見ることができます。 – fiat

関連する問題