2009-08-24 2 views
1

私は現在、いくつかのアプリを開発しています。これはすべてのアプリでグローバルアカウントシステムが必要です。これを行う最善の方法は何か分かりません。いくつかのアプリで使用するグローバルアカウントシステムを作成するにはどうすればよいですか?

最も明白な選択肢は、各アプリケーションを1つのデータベースに接続することですが、システムを多少痛みを伴うものにするすべてのアプリケーションにわたってMVCログインコードを複製する必要があります。

おそらく、ログインシステムを独自のアプリに分割し、APIを使用して各アプリを認証する必要がありますか?

アイデアをいただければ幸いです。 ありがとう!

答えて

4

ログインを別のアプリに分割しても、APIを使用するフォームとコントローラを複製する必要があるため、ログインコードが重複しています。共通の機能をカプセル化するために共通のライブラリを使用している場合を除きます。その後、より多くの機能、鐘と笛が必要です。あなたがこの道を十分に長く進んだら、あなた自身の四角い車輪を再実装するだけです:)

代わりに、人々がすでに構築したものを使うことができます。

これまでのところすべてのものを完全に削除し、openidだけをサポートするのが一番簡単な方法でした。 ちょうどstackoverflowのように。いくつかのスマートなopenid-from-provider-and-username生成(これはやはりstackoverflowのように)で束縛されています。これはほとんどの人に受け入れられます。これはもう少し作業が必要だと思っています。

標準のユーザー/パスワードのログインフォームが必要なだけで、集中管理されたユーザーが必要な場合は、openidを使用することもできます(クライアントとサーバーの両方の実装についてはruby-openidを参照)。 ruby-cas

1

あなたの最善の策は、LDAPなどの実証済みの認証システムを使用することです。 Authlogic LDAP Addonプラグインを使用して、Authlogicを基本認証システムとして使用できます。

Authlogicがどのように機能するかの例を知りたい場合は、hereを参照してください。

2

rubycas-serverは、複数のアプリケーションでユーザーを認証するシングルサインページを使用できる別のオプションです。

関連する問題