権限によりナビゲーションを制限する
前提
- 不要なメニューを非表示にすることで、操作性の向上を目指す
- セキュリティを目的としたものではない
- 直接URLを叩けば、アクセスできる。
- メニュー以外からリンクしている箇所があれば、アクセスできる。(そこにも適用すりゃ良いって話もあるか)
対象
関連するチェンジセット
-
- 主な改訂
-
- メニューの親ごと消せるように、<ul> のid属性を、<li>に移動している。子メニューのみなら、それ以前でも可
-
- id の割り当て
-
- 17453 の修正
初期状態
システム設定 - メンバー管理 で、権限を「店舗オーナー」として登録すると下記のナビゲーション項目が非表示となる。
- 基本情報管理 - サイト管理設定
- 基本情報管理 - パラメータ設定
- 基本情報管理 - マスタデータ管理
- コンテンツ管理 - ファイル管理
- デザイン管理 - ブロック編集
- デザイン管理 - テンプレート設定
- デザイン管理 - テンプレート追加
- システム設定
- OWNERS STORE
変更例
「規格管理」を非表示にする
/html/user_data/packages/default/css/admin_contents.css
/* 権限 */ x-dummy ,.authority_1 #navi-basis-control ,.authority_1 #navi-basis-parameter ,.authority_1 #navi-basis-masterdata ,.authority_1 #navi-contents-file ,.authority_1 #navi-design-bloc ,.authority_1 #navi-design-template ,.authority_1 #navi-design-add ,.authority_1 #navi-system ,.authority_1 #navi-ownersstore + ,.authority_1 #navi-basis-zip { /* display: none; --- IE で不具合 */ height: 0; width: 0; overflow: hidden; border: none; visibility: hidden; }
- 「authority_1」とは、権限「店舗オーナー」の意味。現状では他に、「authority_0」として「システム管理者」がある。
- 「authority_2」と「authority_3」は、それぞれ「閲覧」と「販売担当」に割り当てされているが、現状では未実装である。
- 「navi-basis-zip」とは、ナビゲーション「基本情報管理 - 郵便番号DB登録」の意味。下記のファイルで定義している。
- /data/Smarty/templates/default/admin/main_frame.tpl
- /data/Smarty/templates/default/admin/*/subnavi.tpl
ちなみに
ナビゲーション以外でも、非表示にすることは可能。極端な例としては、登録ボタンを非表示にすることで、閲覧専用ライクな表示にする事も可能だろう。