ショップ運営の際にすべてのユーザが管理者権限で管理画面を操作できてしまうと
セキュリティ上問題になるため、権限を制御したユーザーを作成します。
※このカスタマイズではURL直打ちをされてしまうと、ページを見ることができます。(要対処)
※非表示対象のメニューが初期表示メニューの場合、ページは表示されてしまいます。(要対処)
管理者権限の追加
システム設定>マスタデータ管理より
mtb_authorityを選択
初期状態では
ID:0
値:管理者
のみが登録されている。
これに権限を追加する。
たとえば、閲覧のみの権限を作成する
ID:1
値:ビューアー
とか。
ユーザを作成する
システム設定>メンバー管理より、新規メンバーを作成する。
閲覧者を追加してみる。
画面制御を行う
実際にユーザを作成しただけでは制御できないので、
画面にて権限IDを使用して制御する。
管理画面の左メニューを制御してみる。
たとえば、管理者以外はシステム設定のメンバー管理より下の項目を表示しないようにする。
/data/Smarty/templates/default/admin/system/subnavi.tpl
を編集する。
管理サイトではログイン情報をセッションで保持しているので、
セッションから権限IDを取得し、判断する。
管理者IDは0に設定しているので、権限ID != 0の場合は表示しないようにすればよい。
Line24~以下のように書き換える。
<table width="141" border="0" cellspacing="0" cellpadding="0" summary=" " id="menu_navi">
<!--ナビ-->
<tr><td class=<!--{if $tpl_subno != 'index'}-->"navi"<!--{else}-->"navi-on"<!--{/if}-->><a href="./index.php" onMouseOver="naviStyleChange('index', '#a5a5a5')" <!--{if $tpl_subno != 'index'}-->onMouseOut="naviStyleChange('index', '#636469')"<!--{/if}--> id="index"><img src="<!--{$TPL_DIR}-->img/contents/icon.jpg" width="15" height="9" alt="" border="0"><span class="navi_text">メンバー管理</span></a></td></tr>
<tr><td><img src="<!--{$TPL_DIR}-->img/contents/navi_line.gif" width="140" height="2" alt=""></td></tr>
<!--{if $smarty.session.authority == 0}-->
<tr><td class=<!--{if $tpl_subno != 'bkup'}-->"navi"<!--{else}-->"navi-on"<!--{/if}-->><a href="./bkup.php" onMouseOver="naviStyleChange('bkup', '#a5a5a5')" <!--{if $tpl_subno != 'bkup'}-->onMouseOut="naviStyleChange('bkup', '#636469')"<!--{/if}--> id="bkup"><img src="<!--{$TPL_DIR}-->img/contents/icon.jpg" width="15" height="9" alt="" border="0"><span class="navi_text">バックアップ管理</span></a></td></tr>
<tr><td><img src="<!--{$TPL_DIR}-->img/contents/navi_line.gif" width="140" height="2" alt=""></td></tr>
<tr><td class=<!--{if $tpl_subno != 'parameter'}-->"navi"<!--{else}-->"navi-on"<!--{/if}-->><a href="./parameter.php" onMouseOver="naviStyleChange('parameter', '#a5a5a5')" <!--{if $tpl_subno != 'parameter'}-->onMouseOut="naviStyleChange('parameter', '#636469')"<!--{/if}--> id="parameter"><img src="<!--{$TPL_DIR}-->img/contents/icon.jpg" width="15" height="9" alt="" border="0"><span class="navi_text">パラメータ設定</span></a></td></tr>
<tr><td><img src="<!--{$TPL_DIR}-->img/contents/navi_line.gif" width="140" height="2" alt=""></td></tr>
<tr><td class=<!--{if $tpl_subno != 'masterdata'}-->"navi"<!--{else}-->"navi-on"<!--{/if}-->><a href="./masterdata.php" onMouseOver="naviStyleChange('masterdata', '#a5a5a5')" <!--{if $tpl_subno != 'masterdata'}-->onMouseOut="naviStyleChange('masterdata', '#636469')"<!--{/if}--> id="masterdata"><img src="<!--{$TPL_DIR}-->img/contents/icon.jpg" width="15" height="9" alt="" border="0"><span class="navi_text">マスタデータ管理</span></a></td></tr>
<tr><td><img src="<!--{$TPL_DIR}-->img/contents/navi_line.gif" width="140" height="2" alt=""></td></tr>
<tr><td class=<!--{if $tpl_subno != 'system'}-->"navi"<!--{else}-->"navi-on"<!--{/if}-->><a href="./system.php" onMouseOver="naviStyleChange('system', '#a5a5a5')" <!--{if $tpl_subno != 'system'}-->onMouseOut="naviStyleChange('system', '#636469')"<!--{/if}--> id="system"><img src="<!--{$TPL_DIR}-->img/contents/icon.jpg" width="15" height="9" alt="" border="0"><span class="navi_text">システム情報</span></a></td></tr>
<tr><td><img src="<!--{$TPL_DIR}-->img/contents/navi_line.gif" width="140" height="2" alt=""></td></tr>
<!--{/if}-->
<!--ナビ-->
</table>
閲覧者でログインすると。。。
こんな感じです。
最終更新:2009年05月07日 18:33