6

次の目的でシステムをどのように実装しますか。

  • 現在、サードパーティ ベンダーのアプリケーションと緊密に統合されている何十万もの既存ユーザーの認証と承認を管理し ます (これらのユーザーを、私たちが管理するものに追い出し、アプリをそれに対抗させ、さらにサード パーティ ベンダーに対抗させたいと考えています)。
  • それらのユーザーにリンクされたプロファイル情報を管理します
  • ほぼすべてのプラットフォーム (Windows、*nix、PHP、ASP/C#、Python/Django など) 上の任意の数の Web アプリケーションからアクセスできる必要があります。

ここにいくつかのサンプル実装があります:

  • すべてを管理する LDAP/AD サーバー。すべてのプロファイル データにカスタム スキーマを使用します。すべてが LDAP/AD に対して認証でき、あらゆる種類の ACL とプロファイル データをカスタム スキーマに保存できます。
  • 認証のみに LDAP/AD を使用し、従来のデータベース (MSSQL/PostgreSQL/MySQL) またはドキュメント ベースの DB (CouchDB、SimpleDB など) を使用して、LDAP ユーザーを最も堅牢なプロファイル/承認サーバーに結び付けます。認証には LDAP を使用し、より高度な機能については DB にアクセスします。
  • すべてに従来のデータベース (リレーショナルまたはドキュメント) を使用します。

この3つのうち、どれがベストですか?上記の目的に適合し、実装がより簡単な他のソリューションはありますか?

** ユーザー データベースに対して認証を行うほぼすべてのアプリケーションが、私たちの管理下にあることを付け加えておきます。唯一の部外者は、現在のユーザー データベースを削除するアプリケーションと、おそらく 1 つまたは 2 つの他のアプリケーションです。openID サーバーを必要とするほど広いものはありません。

これらのユーザーの多くがこれらのアカウントを 5 ~ 8 年間使用しており、ログインやパスワードなどを知っていることも重要です。

4

5 に答える 5

5

認証と承認/プロファイリングには違いがあるため、必ずしも両方を 1 つのツールに強制しないでください。認証に LDAP を使用し、承認に DB を使用する 2 番目のソリューションは、LDAP データがユーザーによって制御され、DB が管理者によって制御されるため、より堅牢に見えます。後者は時間の経過とともに構造と複雑さが変化する可能性がありますが、認証はまさにその認証です。これらの機能を分離すると、より管理しやすくなります。

于 2008-09-16T23:26:51.747 に答える
2

既存の ActiveDirectory インフラストラクチャがある場合は、それが最適です。これは、認証用に Windows サーバーを既にセットアップしている企業にとって特に有利です。この場合、「サンプル実装」の最初の箇条書きに傾いています。

そうしないと、AD とオープンソースの LDAP オプションの間でトスアップが発生します。

シングル サインオン用に独自の認証スキーマを展開することは現実的ではない可能性があり (特に、大量のドキュメントと統合作業を行う必要があることを考えると)、認証サーバーで実行されているアプリケーションをバンドルしないことは明らかです。システム (そのようなアプリケーションの負荷から独立できるようにしたいため)。

幸運を!

于 2008-09-16T23:19:26.273 に答える
0

認証のみに LDAP/AD を使用し、従来のデータベース (MSSQL/PostgreSQL/MySQL) またはドキュメント ベースの DB (CouchDB、SimpleDB など) を使用して、LDAP ユーザーを最も堅牢なプロファイル/承認サーバーに結び付けます。認証には LDAP を使用し、より高度な機能については DB にアクセスします。

于 2008-09-16T23:29:37.090 に答える
0

約 10 万人のユーザーがいるさまざまなサイトがあり、それらはすべて通常のデータベースで動作します。ほとんどのアプリケーションがデータベースにアクセスできる場合は、このソリューションを使用できます。

于 2008-09-16T23:31:58.567 に答える
-1

独自のOpenIDサーバーをいつでも実装できます。OpenID 用の Python ライブラリが既にあるので、かなり簡単です。

もちろん、アプリケーション内の他のサーバーによって承認されたログインを受け入れる必要はありません。独自のサーバーによってのみ承認された資格情報を受け入れます。

編集: Django で OpenID サーバー プロトコルの実装を見つけました。

Edit2:ユーザーに OpenID を実装することには明らかな利点があります。彼らは自分のログイン情報で StackOverflow にログインできるようになります :-)

于 2008-09-16T23:14:00.373 に答える