ページのパーミッション
[!訳注]
このページの解説も、画像がリンク切れしており、内容も アカウント > パーミッション に類似しています。内容的には、アカウント画面のパーミッションの設定と、各ページ編集画面のセキュリティタブにある、Page Permissions のセクションにおける設定方法を解説していると思われますが、ここで解説されている内容がよくわからず、実際に試してはいません。
// リンク切れ画像です

ページの ユーザー / グループ パーミッションは:
オプション | 値 | 説明 |
---|---|---|
Configuration | admin.configuration | 管理パネルの Congiguration エリアへのアクセス権限をユーザーに与える |
Pages Configuration | admin.configuration.pages | 管理パネルの Pages エリア内にある Pages Configuration へのアクセス権限をユーザーに与える |
Pages | admin.pages | 管理パネルの Pages エリアへの完全なアクセス権限をユーザーに与える |
Create | admin.pages.create | ページを 作成 するアクセス権限をユーザーに与える |
Read | admin.pages.read | ページを 読み込み するアクセス権限をユーザーに与える |
Update | admin.pages.update | ページを 更新 するアクセス権限をユーザーに与える |
Delete | admin.pages.delete | ページを 削除 するアクセス権限をユーザーに与える |
List | admin.pages.list | 管理パネルの Pages エリアへのアクセス権限をユーザーに与える |
[!Warning]
Grav 内のすべてのアクションは、ひとつのパーミッションタイプに対してチェックされます。管理パネルで、listing もしくは reading 権限をユーザーに与えない場合でも、ユーザーが create, update, そして delete 権限を持っている場合、そのユーザーはそれらのアクションを行えます。つまり、このユーザーは、管理パネル内のPages
画面が表示されないとしても、ページ編集画面に直接アクセスし、これらのアクションを実行することが可能です。
[!Tip]
Grav 1.7 より、個々のページとその子ページに対する CRUD アクセスを、そのページ自体から直接制限できるようになりました。
パーミッションでの妥当な値は:
オプション | 値 | 説明 |
---|---|---|
Allowed | true | 同じレベルに Denied パーミッションがひとつも無ければ、 許可 する |
Denied | false | 不許可 にする。ユーザーに Allowed と Denied があったら、Denied が勝ちます |
Not set | null | 影響を与えず、もし他のルールが適用されなければ、 Denied になる |
ユーザーアカウントに対して特に設定されたパーミッションは、グループパーミッションより優先されます。
ユーザーアカウントにパーミッションが設定されていない場合、そのユーザーが属するすべてのユーザーグループに対してアクセスチェックされます。
もしアクションを Denied するユーザーグループがひとつでもあれば、そのアクションに対してパーミッションは許可されません。
一方、すべてのグループで Allowed だったら、そのアクションは許可されます。
いずれのグループにもパーミッションが設定されていなければ、 Super User パーミッションは全体に対して Allowed になり、そうでなければ Denied が適用されます。
ユーザーアカウントとユーザーグループに設定されたパーミッションは、そのページを管理するデフォルトのパーミッションとなります。
これらのルールすべては、各ページの セキュリティ タブで上書き可能です。
ページの CRUD アクセスチェックワークフロー
CRUD 認証の個々のページをチェックするワークフローは、次の通りです:
- action =
Create
,Read
,Update
,Delete
もしくはList
を設定する - 現在のページからすべての
Page Groups
を走査する
Page Authors
一覧にユーザーがいれば、特別なauthors
グループに マッチ する- ユーザーがログインしていたら、特別な
defaults
グループに マッチ する - ユーザーがグループを持っていれば、そのグループに マッチ する
- もし マッチ していたら:
- action 認証が
Deny
を返すとき: 即中断し、false
を 返す - action 認証が
Allow
を返すとき: allow flag =true
を設定する
- action 認証が
- 続けて次のグループを処理する
- すべてのグループを走査し終わったら、action のユーザーパーミッションをチェックする
- allow flag が
true
だったとき:true
を返す
- ユーザーのグローバルな Pages 管理パーミッションをチェックする(一度だけ)
- action 認証が
Deny
を返すとき:false
を 返す - action 認証が
Allow
を返すとき:true
を 返す
- ページが親パーミッションを継承するかチェックする
Inherit Permissions
=Yes
の場合:親ページについて同じチェックを行う- 上記以外の場合、
null
を 返す
Root Page
// リンク切れ画像です

Root ページは、 Grav 1.7 以上で特別なページです。
それにより、サイト管理者は、すべてのページについてデフォルトのパーミッションを設定できます。
Super User もしくは Pages Configuration の権利を持つユーザーのみがそれを見られます。
root ページは、 user/pages/root.md
ファイルに保存されます。
現在このページはアクセスできないため、ページとしてのコンテンツを含みません(将来、変更されるかもしれません)。