2011-01-12 14 views
0

私はサーバー間でauthlogic永続性トークンを同期する方法を理解しようとしています。データベース間でpersistent_tokenを同期

私は4台のサーバーを持っていますが、私は4台に多くのアプリケーションを持っています。認証は1台のサーバー上のすべてのアプリケーションで機能しています。永続トークンを1つから別のものにコピーすると、別のサーバーでも動作させることができます。

私が考えることができる唯一の問題は、ユーザーが1つのサーバーにログインしても他のサーバーにはログインできないことです彼らは他のサーバーに行く場合にそれらを同期することができます。たとえば、次のように

ジョーは、サーバにログインJoeはまた、サーバーにログインする1

ジェーンは唯一のサーバーにログインする2

フレッドが唯一のサーバーにログインする1

私が必要になります各サーバからの2ウェイ同期。彼らがすべて同じである限り、どの永続トークンが得られるかは気にしない。

これは、重要な場合に備えて認証にもLDAPを使用します。

私は、レールに関連しないものも含め、かなり多くの提案をしています。

編集

これを更新するには、私は、LDAP認証を削除することはできません。私は本当にauthlogicを置き換える必要はありません。私は、同期を扱うためにレーキタスクやシェルスクリプトのようなものを考えていました。

私は自分のアイデアを思いついていますが、誰かが最善の方法を知っているかどうかを知りたいと思っています。

ありがとうございました。

+0

あなたはDBセッションストアを使用して、またはおそらくmemcachedのセッションストアを使用して調査したいかもしれません。あなたの質問は自由に終わっているようですので、あなたの目標は何ですか?あなたは "サーバー"と言うとき、あなたは "サイト"を意味しますか? – tadman

+0

私は本当に必要なものを明確にしていないと思います。私は必要なもので質問を更新します。サーバーと言うと、私はLinuxのボックスにApacheとMySQL、そして複数のアプリケーションを実行しています。 –

答えて

1

実際には、シングルサインオン(SSO)を有効にするセントラル認証サービス(CAS)を探しているかもしれません。

これにより、さまざまなサービスにログオンできます。これは、ユーザーがローカルストアに対して認証された場合、ユーザーはhttp://server1

  • のserver1チェックを要求し、何か
    • のように動作します。そうでない場合:
    • サーバー1がhttp://casserver?return=server1
    • casserverは、実際に、ユーザー名/パスワードまたは資格情報を取得し、それらを認証し、のようなものにユーザーをリダイレクトします。casserverはその後http://server1

    にリダイレクト

    • ユーザーのリクエストhttp://server2
    • server2はにリダイレクトされます。
    • casserverは、ユーザーが複数回の認証情報を入力しない方法を持つAuthToken

    http://server2にユーザーをリダイレクトします。

    OAuthが

    人々はjava based CASを使用している(簡易オーバー)このように動作します。いくつかの記事:それは利き重すぎると思われる場合

  • +0

    私たちは非常に田舎であり、インターネットは信頼できません。キャッサーバーがダウンしたら? server2は認証できません。また、casserverによって生成される何らかの認証トークンを提案しているようですが、server2はそれがどのようなものであるべきかを知っていますか?あなたの提案をありがとうが、私は彼らがこの場合に動作するとは思わない。 –

    +0

    6ヶ月後、これは私が解決しようとしている解決策です。あなたが意味するものを得る前に、私はちょうどカスについてもっと理解しなければならなかったと思います。 –

    関連する問題