CMSのポテンシャルを引き出す─MODxで作る商用サイト

第14回 MODxにおけるロールやアクセスポリシー

この記事を読むのに必要な時間:およそ 3 分

アクセスポリシーの設定

前述のように,ロール自体は実際の権限の内容を表すものではありませんので,⁠ユーザー管理が可能」⁠パッケージ管理が可能」といった具体的な権限設定は「アクセスポリシー」にて設定します。

「ユーザーグループとロールの管理」より「アクセスポリシー」に進んでください。試しに「Administrator」を選択し「アクセスポリシーを編集」に進むと,130個の細かいアクセス権限の全てが付与されていることがわかります。一方,⁠Content Editor」の内容をを見てみると,130個の中で,コンテンツ管理に関連する17項目のみがチェックされていることがわかります。これらのポリシーは「Policy Templates」というテンプレートで管理されており,よく使用する項目についてはテンプレートとしてあらかじめ登録しておくことができます。

では,⁠selfmanage-role」というuser5用のロールに割り当てるためのアクセスポリシーを設定してみます。⁠Content Editor」を右クリック,⁠ポリシーの複製」を選び,このアイテムを元に設定を行うことにします。

表3 user5用のアクセスポリシー設定

名前selfmanage-pol
説明自身のプロファイルのみを変更可能なポリシー
チェック項目change_password(パスワードを変更するため)
change_profile(プロファイルを変更するため)
frames(管理画面を表示するため)
load(各オブジェクトをロードするため)
logout(ログアウトするため)

同様に,user4用のポリシーを設定します。⁠Content Editor」の内容を複製し,そのまま使わせてもらいましょう。

表4 user4用のアクセスポリシー設定

名前contenteditor-pol
説明コンテンツ管理のためのポリシー
チェック項目「Content Editor」のチェック内容と同様

user3,user2用のポリシーも次のように作成します。

表5 user3用のアクセスポリシー

名前pkgadmin-pol
説明パッケージ管理が可能なポリシー
チェック項目packages(パッケージを管理する)
workspaces(パッケージを管理する)

表6 user2用のアクセスポリシー

名前useradmin-pol
説明ユーザー管理が可能なポリシー
チェック項目access_permissions(権限管理ページを表示するため)
delete_role(ロール削除)
delete_user(ユーザー削除)
edit_role(ロール編集)
edit_user(ユーザー編集)
new_role(新規ロール)
new_user(新規ユーザー)
save_role(ロール保存)
save_user(ユーザー保存)
view_role(ロール表示)
view_user(ユーザー表示)

現在のアクセスポリシーは次のようになっています。

図4 設定済みのアクセスポリシー

図4 設定済みのアクセスポリシー

ロールとアクセスポリシーをユーザーに割り当てる

「権限管理」⁠⁠ユーザーグループとロールの管理」⁠⁠ユーザーグループ」より「sales」グループを右クリックし,⁠ユーザーグループを編集」に進み,それぞれのユーザーにロールを割り当てます。

図5 ユーザーにロールを割り当て

図5 ユーザーにロールを割り当て

次に,管理画面の「mgr」コンテキストのアクセス権限を設定します。⁠コンテキストのアクセス」タブより図6のようにコンテキスト,ロール,アクセスポリシーの対応付けを行います。

図6 コンテキストのアクセス設定

図6 コンテキストのアクセス設定

最後に,⁠システム」⁠⁠コンテキスト」より「web」コンテキストを右クリック,編集し,⁠アクセス許可」タブより「sales」グループのデフォルトアクセスを許可しておきます。

図7 コンテキストのアクセス許可

図7 コンテキストのアクセス許可

お疲れさまでした。後は「権限管理」より「アクセス許可をリロード」⁠全セッションを初期化」を選択した後,user1~user5の各ユーザーで管理画面にログインしてみてください。ロールによる権限の違いが体感できるはずです。

最後に

MODx Revolutionの権限管理が非常に強力であることはおわかりいただけたでしょうか?

今回紹介した機能は,一般のウェブ閲覧者向けではなく社内や管理者向けの機能ではありますが,⁠コンテンツの管理者が複数存在するが,コンテンツ管理者には最低限の権限のみ与えたい」といった場合でもロールやアクセスポリシーは強力に機能します。

強力な一方,機能が複雑で,一度設定を誤ると元に戻すのが困難になる場合もありますので,テストする場合には事前のバックアップを忘れないようにしてくださいね!

著者プロフィール

中満英生(なかみつひでお)

大学時代に出会ったSolarisがきっかけでUNIXの世界へ。その後ホスティングプロバイダ,データセンターで実務経験を積む傍ら,雑誌記事の執筆や技術セミナーの講師を務める。サーバ設定の他,セキュリティに関する著作や技術者エッセイも執筆経験あり。