4

次の状況で最善のアプローチは何でしょうか。

  • ユーザーの認証を処理するメイン アプリケーション (できれば Devise)。
  • シングル ログオン用のユーザー データベースにアクセスできるいくつかの異なるアプリケーション。
  • ユーザーデータの同期 (設定、プロファイルデータ)

シナリオ例:

  • アプリケーション A のユーザー登録
  • ユーザーは同じ資格情報でアプリケーション B にアクセスできます (ただし、アプリケーション B を使用する前に、新しい契約を明示的に確認する必要があります)
4

1 に答える 1

0

まず、すべてのアプリがユーザー データベースにアクセスできる必要があるため、ユーザーは一度登録するだけで済みます。ユーザーがさまざまなアプリの契約を確認したかどうかを確認するための属性または関係を持つことができます。

1 回のログインですべてのアプリにアクセスできるようにするために、すべてのアプリに同じセッション ストアを使用できます。

たとえば、セッション ストアに memcached を使用し、すべてのアプリで同じセッション ストア キーを使用できます。ユーザーが 1 つのアプリにログインすると、セッションを閉じずに別のアプリに移動すると、このアプリはセッションが作成されたことを確認し、ユーザーはログインせずに新しいアプリに入ることができます。

このソリューションでは、あるアプリのデータが他のアプリのデータと重複しないように、セッション データに注意する必要があります。

于 2012-07-17T10:56:15.843 に答える