別のシステムからのログイン認証を使用し、次の特性を持つPHPのモジュールに取り組んでいます。
- ログインはフォーム送信によって行われます。フォーム送信はユーザーログインに基づいて行われ、バックエンド処理に基づいてサブモジュールのさまざまなセットにアクセスできます。
- ページの相互作用はすべてjQueryで行われます。バックエンドとの通信はすべてAjaxで行われます。
- サブモジュールにはレポートとCRUDフォームが含まれ、それぞれにアクセス制御が必要です。たとえば、1つの部門はレポートAを表示できませんが、レポートBは表示できますが、別の部門は両方を表示できます。フォームは特定のグループで厳密に利用できます。
- すべてのAJAXリクエストはJSONを返します
バックエンドでACLを理解することはできましたが、AJAXリクエストを保護するかどうかはわかりません。
私が思いつくことができる最善の方法は、ユーザーごと、サブモジュールごとにAPIキーを用意し、すべてのリクエストでユーザーセッションをチェックすることです。
明確にするために、ログインプロセスは別のシステムに制限されているため、触れることができません。私はCookieを取得し、他のシステムにクエリを実行して、Cookieがログインしているかどうかを確認することしかできませんでした。
このようなシナリオでAJAXセキュリティを強化するにはどうしますか?