1つのCakePHP3プロジェクトで管理画面も用意する方法

のえる のえる
2019.04.16

Webサイトなどを作成する場合、管理画面も用意される方も多いと思います。
その際、管理者と一般ユーザで2種類のセッションを用意しないといけなかったりと結構手間ですね。
今回はそんな手間なセッション周りをCakePHP3で実装する方法をご紹介します。

環境

実行環境はこんな感じです。

CentOS 7
PHP Version 7.1.11
Composer

※Composerのインストールおよび使い方の説明は割愛します
※Linuxの使い方の説明は割愛します

また、今回は下記のような設定を想定しています。

example.com にアクセスした場合 => 通常画面
example.com/management/ にアクセスした場合 => 管理画面

実装方法

今回は設定から変更していきます。

まずは config/routes.php を編集し、管理画面へのアクセスルーティングを変更します。

続いて AppController.php を改修していきます。

ここでは、prefixを使用して Auth の認証方法を変更しています。

あとは Users と Managements の両方で Auth コンポーネントを使用すれば
それぞれで認証をすることができます。

注意点としては、Controller や Templates などのディレクトリ構成が変更されてしまうことでしょうか。
(Management/ManagementsControllser.php などになってしまう)
まぁ場所が少し異なるだけで、そこまで不便はしないと思います。

さいごに

今回は単一ドメインでの管理画面の用意という、かなり特殊なケースかな?と思っています。
ですが、Web上で検索してもほとんど記事を見受けられなかったので、ご用意してみました。
このページをご覧になった方のお役に立てれば幸いです。

ではまた次回。

スポンサーリンク

POPULAR

のえる

のえる

Full-stack Developer