2015年5月20日水曜日

ECCUBE メンバーによって管理画面のアクセスを制限する。

EC-CUBE 2.12にてログインするメンバーによって管理画面のアクセスを制限したいという事になった。
例)Aさんに商品管理だけアクセス出来るようにしたい。

早速ググってみると、システム設定>マスターデータ管理>mtb_authorityでメンバーを追加し、admin_contents.cssにて非表示にするというもの。
でも直接/admin/...を叩くとアクセス出来てしまうという。。。

mtb_permissionを使うとページ毎にアクセスできるメンバーを制限できるというのを発見。

システム設定>マスターデータ管理>mtb_authorityにて
店舗スタッフ ID:2を作成

システム設定>マスターデータ管理>mtb_permissionにアクセス。
基本情報管理にはアクセスできなくていいので、
ID:/admin/basis/index.php 値:1を設定
IDにアクセスできるか否か設定したページを入力し、値には店舗スタッフ以上の権限のあるメンバーがアクセス出来るように今回は1を設定(数字が小さい方が偉い)。
なので、メンバーのIDが0と1の人はアクセス可能で、2以上の人はアクセス出来ないよということ。

商品管理以外も設定しこれでOKかとおもいきや。

基本情報管理>特定商取引法へアクセス出来る。。。URLは下記。
/admin/basis/tradelaw.php
基本情報管理>配送方法設定もアクセス出来る。。。
/admin/basis/delivery.php

どうやら全てのファイルを指定する必要があるらしい。。。
どんだけのファイルをちまちま管理画面から設定する必要があるんだ。。。

なので、フォルダ以下の全てのファイルをアクセス出来ないように設定。
システム設定>マスターデータ管理>mtb_permissionで設定したやつを変更。
/admin/basis/index.php

/admin/basis/
basis以下のファイルが全て対象となるように。

data/class/SC_Session.phpを開く
70行目あたり
$admin_path = preg_replace('/\/+/', '/', $_SERVER['SCRIPT_NAME']);
を下記に変更
$admin_path = preg_replace('!/[^/]*$!', '/', $_SERVER['SCRIPT_NAME']);
ファイルの指定からフォルダの指定へ変更してます。

これでめでたく
/admin/basis/以下のファイルは全てアクセス不可になりました。

他のページも同様にシステム設定>マスターデータ管理>mtb_permissionで指定してOK。

Related Posts:

  • 【ECCUBE3】複数の規格がある商品をcsvで登録する。ECCUBE2系の頃から規格が複数ある商品をcsvで登録するにはカスタマイズが必要でした。 EC CUBE3系も同様なので、商品登録csvの「規格分類1(ID)」セルにカンマ区切りで規格分類IDを入力すると登録できる仕様にしてみましょう。 ※「規格分類2(ID)」には手を加えないので、「規格分類1(… Read More
  • swift MapView PolyLine上を移動するアニメーションMapViewに描画したPolyLine上を移動するアニメーションを作りたくて試行錯誤。 アニメーションを使うというより、座標がわかっているので、ピンを座標に沿って移動していけば良いという事に辿り着く。 ずっとアニメーションで検索してたから結論になかなか辿り着けなかった。。。 stackoverf… Read More
  • 【ECCUBE3 プラグイン】最近購入された商品 【ECCUBE3 プラグイン】最近購入された商品 ECCUBE3の商品詳細画面に最近購入された商品を追加します。 ソースはGithubにupしています。 こちらから How to install Githubページの右下の「Download ZIP」からZIPファイルをダウンロード E… Read More
  • 【ECCUBE】2.12系 在庫のない規格を選択肢から消す。ECCUBE 2.12系で在庫のない商品の規格を選択肢から削除したい。 在庫がない場合、選択肢の横に(品切れ中)とは表示されるが、紛らわしいので消してしまおうという事に。 まずは「商品詳細ページ」のページ詳細を見てみる事に。 どうやら規格の選択肢の生成にはSmartyのhtml_optionを使っ… Read More
  • Gmailに来た作業依頼メールをTrelloの新規カードとして追加する。今日はTrelloの新しい発見。 Trello・・・TODOリストですね。 細かい使い方は省略して、今日はタイトル通り、特定のメールアドレスに作業依頼が来るので、Gmailに来た作業依頼メールをTrelloに新規カードとして追加する。という事をします。 Trelloボードにメンバー追加してカード… Read More

0 コメント:

コメントを投稿