0

すべてにリモート API を完全に使用する Rails アプリを構築しています。リモート API には、ユーザー情報、権限などがあります。

私のユーザー権限はリモート API に存在するため、コントローラー レベルで、ユーザーが特定のページにアクセスできるかどうかを確認する方法を考えています。

現時点では、すべてのコントローラー アクションで API に ping を送信する必要があることを意味します。そうしないと、キャッシュの使用を開始できます。しかし、アクセス許可がいつ変更されるかはわかりません。そのため、キャッシュによって同期の問題が発生する可能性があります。

人々は通常、これをどのように処理しますか?

4

2 に答える 2

0

同様のシステムを作成したとき、セッションごとに(ログイン時に)ユーザーを1回だけ同期しました。

また、アクティブなユーザーをバックグラウンドで同期することをお勧めします。たとえば、5 分ごとに同期することをお勧めします (重要な場合)。

于 2013-05-03T14:40:35.087 に答える
0

アプリがアクセス許可を読み取り専用でのみ使用する場合、API によって返されたアクセス許可を数分間キャッシュしても、ほとんど問題はありません。

アプリでユーザーがパーミッションを何らかの形で変更することも許可している場合は、キャッシュされていないパーミッションをフェッチするようにしてください。

また、ユーザーが機密性/セキュリティ レベルの高いもの (ログイン、パスワードの変更、またはその他のプロファイル関連のもの) にアクセスする場合は、常にキャッシュされていないバージョンのアクセス許可を使用する必要があります。

于 2013-05-03T14:43:08.243 に答える