質問 > 管理機能 > mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ricarica |
投稿日時: 2018/8/24 12:41
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 48 |
mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。 ▼テンプレート
[EC-CUBE]2.13.5 インストール [レンタルサーバ] XAMPP OS] windows 7 XAMPP for Windows 5.6.30 [ブラウザ] internet explorer11 ご質問:① 2.13.5についてお伺いします。 目的:ページアクセス権限の設定について mtb_permissionの記述が、ファイル名をそのまま全て記述する仕様の為 ディレクトリ名(パス)で設定したい その為、SC_Session.phpの記述の変更で出来るのではないかと考えているのですが、 いかがでしょうか。 以下記述変更のあたりをつけた部分 ********************************* /* 認証成功の判定 */ public function IsSuccess() { if ($this->cert == CERT_STRING) { $script_path = realpath($_SERVER['SCRIPT_FILENAME']); $arrScriptPath = explode('/', str_replace('\\', '/', $script_path)); $masterData = new SC_DB_MasterData_Ex(); $arrPERMISSION = $masterData->getMasterData('mtb_permission'); foreach ($arrPERMISSION as $path => $auth) { $permission_path = realpath(HTML_REALDIR . $path); $arrPermissionPath = explode('/', str_replace('\\', '/', $permission_path)); $arrDiff = array_diff_assoc($arrScriptPath, $arrPermissionPath); // 一致した場合は、権限チェックを行う if (count($arrDiff) === 0) { // 数値が自分の権限以上のものでないとアクセスできない。 if ($auth < $this->authority) { return AUTH_ERROR; } } } return SUCCESS; } return ACCESS_ERROR; } ******************************** 上記6行目:$arrScriptPath = explode('/', str_replace('\\', '/', $script_path)); 上記11行目:$arrPermissionPath = explode('/', str_replace('\\', '/', $permission_path)); の記述ではないかと考えています。 フォルダ指定の仕方がわからないい為、どうかご教授お願いします。 ご質問:② 目的:/admin/以外(例えば、フロントページ)のアクセス制限も可能でしょうか? また、其の場合は、mtb_permissionの記述のほかにどこを変更するべきなのでしょうか? 合わせて、ご教授いただければ幸いです。 どうぞよろしくお願いします。 |
468 |
投稿日時: 2018/8/24 13:27
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。 urlの比較をarray_diff_assocを用いて行っている為、ディレクトリのみ(部分一致)による判定は難しいのではないかと思います。
array_diff_assocを利用しているif文の条件を自作すれば対応できるのではないでしょうか? あと、フロントページに権限判定を追加する場合、pageクラスに変更を加える必要があるのではないかと予想します。
|
ricarica |
投稿日時: 2018/8/24 14:53
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 48 |
Re: mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。 早速のご回答ありがとうございます。
>urlの比較をarray_diff_assocを用いて行っている為、ディレクトリのみ(部分一致)による判定は難しいのではないかと思います。 >array_diff_assocを利用しているif文の条件を自作すれば対応できるのではないでしょうか? ディレクトリの判定は難しいとのことありがとうございます。 if文の条件を自作すればとありますが、 ちなみに、 以下,SC_session 抜粋 foreach ($arrPERMISSION as $path => $auth) { $permission_path = realpath(HTML_REALDIR . $path); $arrPermissionPath = explode('/', str_replace('\\', '/', $permission_path)); $arrDiff = array_diff_assoc($arrScriptPath, $arrPermissionPath); を丸ごとIFで判定させるということでよかったでしょうか? また、其の場合、判定材料は、何にすればよいのでしょうか。 すみません。初歩的なものかもしれませんが、 どうぞよろしくお願いします。 |
ricarica |
投稿日時: 2018/8/24 15:02
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 48 |
Re: mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。 質問②のご回答について あと、フロントページに権限判定を追加する場合、pageクラスに変更を加える必要があるのではないかと予想します。 ありがとうございます。 確認してみたいと思います。 また、すみません、私の質問の仕方がよくなかったのかもしれませんが、 会員専用のサイトにしたく(再と全てを会員しかアクセスできないようにする)、 フロントページ以下全てのディレクトリ、ファイルに制限をかけたかったのです。(mtb_permissionを参考に管理者以外の一般ユーザーに制限がかけられないかと思いました。ごっちゃにしてすみません。) ご教授頂きました内容のほかに、上記の会員専用サイトにする方法があればご教授お願いします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |