0

私は、codeigniter でマルチユーザー アプリケーションを構築している初心者の php プログラマーです。

今、私の上司は、変更されたユーザー アクセス権限に基づいてユーザーをログアウトする機能を調べるように私に言いました。

Fx。準管理者としてログインしている男性が、実際の管理者によって通常のユーザー ステータスに降格されました。これが発生した場合、準管理者はおそらくログアウトする必要がありますが、これが私の問題が発生する場所です。

これを行う方法はいくつか考えられますが、それらはすべて、ほとんどの場合冗長なチェックを行うことを中心に展開しています (これはまれな状況ですが、発生したと聞いています)。

現時点での私の最善の策は、すべてのアクティブなユーザーをセッション データベースに記録し、ユーザーの役割が変更された場合に強制的に再ログインさせることです。

ただし、これにより、ユーザー セッション データがより適切に通常のセッションに入れられるため、まれな「問題」のためにサーバー上で大量のトラフィックが生成されます。

つまり、私の質問は、ユーザーの権限が変更されたときに、サーバーを酷使せずにユーザーをログアウトするにはどうすればよいかということです。

前もって感謝します!

4

2 に答える 2

0

ページに JavaScript リスナーを追加し、スーパー管理者が準管理者権限を通常のユーザーに変更すると、ログアウト イベントがトリガーされます。アプリで JavaScript が有効になっていることを確認してください。そうしないと、機能しません。このソリューションは、多くの ACL ベースのアプリで使用されています。

于 2013-02-18T15:05:25.643 に答える
0

権限が定期的に (10 分に 1 回など) 変更されているかどうかを確認できます。これにより、「無駄な」クエリの量が減り、ログインしているユーザーの権限が変更されたときの応答時間が許容範囲内であることを確認できます。

于 2013-02-18T15:06:25.137 に答える