ユースケース:商品管理だけアクセスさせたい
おそらく多くのサイトには商品の情報をメンテナンスする作業者がいると思いますが、そういったアカウントは通常会員情報や受注情報にはアクセスできない方が好ましいと思います。
商品の編集権限だけを与えたい場合、みなさんはどのように設定していますか?管理画面に存在するURLを片っ端から拒否URLに指定していますか?
EC-CUBEでは管理画面のアクセス権限をブラックリスト方式(デナイリスト方式)で追加することができますが、この方法では多くのページを登録しなければならず、またプラグイン導入等でページが増えるとリストの追加も必要になります。
ホワイトリストの実現方法
ではどのようにアクセスできるURLだけを指定するのかというと、実はアクセス権限管理の「拒否URL」にはプログラム用語で言う正規表現を使用することが可能です。
正規表現の否定先読みを用いることで、「productから始まらないURLを拒否する」つまり逆に言えば、「productから始まるURLを許可する」ことが可能です。
例えば商品管理だけを許可したい場合は次のように拒否URLを指定します。
/(?!product).*
このように指定するとアクセスできるメニューが商品管理だけに限定されます。
この正規表現の否定先読みを応用することでもっと細かく許可リストを作成することも可能です。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。