1

状況

異なるドメインに対して 1 つのデータベースのみを使用する可能性を提供する CakePHP ウェブショップ アプリケーションを開発しています。たとえば、shop1.com、shop2.com、shop3.com がすべて同じデータベースを使用する異なるドメインにあるとします。顧客にはさまざまなショップが表示されますが、私たちはそれらを維持し、1 つのバックエンドから注文を処理できます。

問題

CakePHP の ACL システムで問題が発生しています。たとえば、ユーザー「Roger」はストア 1の「admin_edit」ページにはアクセスできませんが、ストア 2の「admin_edit」ページにはアクセス許可があります。

各ストアは、Config/bootstrap.php 内の一意のストア ID で識別されます。

可能な解決策

すでに store_id という名前のフィールドを acos_aros テーブルに追加しようとしました。アクセス許可はアクションが行われたストアに依存するため、これで問題が解決します。しかし、最もクリーンな方法でこのデータベースの store_id を確認するにはどうすればよいでしょうか? CakePHP コアに変更を加えることなく..

事実

  • CakePHP 2.2.3 を使用しています
  • すべての製品、ユーザーなどを含む 1 つの中央データベースがあります。
  • いくつかのサーバーに異なるドメイン (アプリケーション) があり、すべてのショップ (現時点では 3 つ) は、Config/bootstrap.php で設定された一意の store_id で識別されます。
  • CRUD承認を使用しています。
  • コントローラー/アクションごとだけでなく、ストアごとにパーミッションを設定したいと考えています。そうしないと、ストア 1 のすべての管理者がストア 2 にもアクセスできます。
4

1 に答える 1