-
Notifications
You must be signed in to change notification settings - Fork 0
/
permissions.txt
165 lines (101 loc) · 9.95 KB
/
permissions.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
アクセス権限設定
================
Localwikiでは柔軟なアクセス管理方式を採用しており、それぞれのオブジェクト(ページ、マップ、ファイル、その他)に対して、ユーザが追加、変更、削除の権限をどこまで有するかを管理者によって設定することができます。
また、悪意のあるユーザに対する禁止ユーザ登録も実施可能です。
アクセス権限設定には2つのレベルがあります。
: 1つはオブジェクトの種類(例:ページ、マップ、その他)に対する設定、もう一つは特定のオブジェクト(例: "Front Page"というページ)に対する設定です。
この方式によって、まずは全てのオブジェクトに対する規定の制限を設定し、その上で幾つかのオブジェクトに対してはさらに細かい制限を設けたり、逆に設定をゆるめたりすることが可能です。
ユーザとグループ
----------------
ユーザは1つ以上のグループに所属させることができます。
また、グループはいつでも新規に作成することが可能です。
管理者は特定のアクセス権限をグループ毎に付与し、グループに所属しているユーザはグループに対するアクセス権限設定を引き継ぎます。
役割ベースのアクセス権限設定によって、例えば "Trusted Users(信頼済みのユーザ)"のようなグループを作成し、そのグループに対して追加のアクセス権限設定を付与することができます。
.. note::アクセス権限設定は、個別のユーザではなくグループに対して行うことを推奨します。そのほうが管理性が高く(多数のユーザと少数のグループ)、なおかつ、メンテナンス性も向上します(ユーザは入れ替わることがあり、必要に応じてグループへ編集するほうが便利です)。
インストール手順に沿ってインストールを行った場合、以下のグループが規定で設定されているはずです。 :
.. figure:: /_static/images/admin_groups.png
``Anonymous``
このグループは ``AnonymousUser`` (匿名ユーザ)を意味します。ログインをおこなっていない訪問者に対する権限設定となります。
``Authenticated``
このグループは ``AnonymousUser`` (認証済みユーザ)、すなわちログインを行ったユーザを意味します。
新しく作成されたユーザは自動的にこのグループに追加されます。
ログインを行ったユーザ全てに対するデフォルトの設定として、このグループの設定を利用するのが便利です。
``Banned``
全てのアクセス権限設定を剥奪されたグループです。
ユーザが他に所属しているグループの権限に関係なく、すべてのアクセス権限が剥奪されます。
禁止ユーザ設定
--------------
ユーザの禁止設定を行うには、単純にそのユーザを ``Banned`` グループに追加してください。その他のグループからそのユーザを除外する必要はありません。
``Banned`` グループに追加されたユーザはすべてのアクセス権限設定を剥奪されます。
まずは、管理画面内の検索ボックスを使って対象のユーザを特定します。
.. figure:: /_static/images/admin_user_search.png
ユーザ名をクリックし、"Groups"の位置まで画面をスクロールさせます。
"Control" (Macでは "Command")キーを押しながら ``Banned`` グループを選択し、"Save"を行います。
.. figure:: /_static/images/admin_ban_user.png
.. note::
管理画面ではユーザの削除も可能ですが、ユーザの削除は **推奨されません。** これは、ユーザの削除を行うことで、そのユーザが行った編集作業がすべて削除されてしまうためです。
ユーザアカウントの停止が必要な場合は、当該ユーザの "active"チェックボックスのチェックを外してください。
特定のオブジェクトに対するアクセス権限設定
------------------------------------------
管理画面の Page項目の中に表示される "Object permissions" をクリックすると、グループの一覧が表示されます。
この画面から、そのページに対してのアクセス権限をグループごとに設定することが可能です。
例えば特定のページに対しては、ログインしているユーザだけが編集できるように設定したいとします。
この場合、まずは管理画面の一覧から当該のページを特定し、右上の "Object permissions"をクリックします。
.. figure:: /_static/images/admin_page_permissions1.png
次にグループセクションで "Authenticated"と入力し、"Manage group" をクリックします。
.. figure:: /_static/images/admin_page_permissions2.png
"Choose all"をクリックして、 "Save" を押します。
.. figure:: /_static/images/admin_page_permissions3.png
これで、ログインが完了しているユーザだけがこのページを編集できるように、設定が変更されました。
もしオブジェクト毎のアクセス権限設定を解除してデフォルトの設定を適用する場合は、 "Object permissions"画面で "edit"をクリックし、全てのアクセス権限設定をクリアしてください。
"Object permissions"画面でグループとユーザが1つも表示されなくなった場合、そのオブジェクト種別に対してはデフォルトのアクセス権限設定が適用されます。
デフォルトのアクセス権限を設定
------------------------------
オブジェクトに対して特定のアクセス権限が適用されていない場合、オブジェクトに対するアクセス権限設定は、ユーザに対して付与されたアクセス権限設定が適用されます。
(ユーザに対する直接的な付与であっても、あるいはグループを通した間接的な付与であっても違いはありません)
デフォルトのアクセス権限設定を変更する必要が有る場合は、管理画面から変更が可能です。
それぞれのグループを編集し、グループに対してデフォルトのアクセス権限を設定してください。
また、全てのグループに対して手動で権限設定を実施するのは管理が大変です。
そのため、別の方法として、``settings.py`` を編集して適用する方法も用意されています。
このドキュメントを記述している時点では、設定は以下のように記述します。 ::
USERS_DEFAULT_PERMISSIONS = {'auth.group':
[{'name': USERS_DEFAULT_GROUP,
'permissions':
[['add_mapdata', 'maps', 'mapdata'],
['change_mapdata', 'maps', 'mapdata'],
['delete_mapdata', 'maps', 'mapdata'],
['add_page', 'pages', 'page'],
['change_page', 'pages', 'page'],
['delete_page', 'pages', 'page'],
['add_pagefile', 'pages', 'pagefile'],
['change_pagefile', 'pages', 'pagefile'],
['delete_pagefile', 'pages', 'pagefile'],
['add_redirect', 'redirects', 'redirect'],
['change_redirect', 'redirects', 'redirect'],
['delete_redirect', 'redirects', 'redirect'],
]
},
{'name': USERS_ANONYMOUS_GROUP,
'permissions':
[['add_mapdata', 'maps', 'mapdata'],
['change_mapdata', 'maps', 'mapdata'],
['delete_mapdata', 'maps', 'mapdata'],
['add_page', 'pages', 'page'],
['change_page', 'pages', 'page'],
['delete_page', 'pages', 'page'],
['add_pagefile', 'pages', 'pagefile'],
['change_pagefile', 'pages', 'pagefile'],
['delete_pagefile', 'pages', 'pagefile'],
['add_redirect', 'redirects', 'redirect'],
['change_redirect', 'redirects', 'redirect'],
['delete_redirect', 'redirects', 'redirect'],
]
},
]
}
この設定ファイルに対して特定のグループを追加したり除外したりすることで、デフォルトのアクセス権限を設定することが可能です。
編集した内容を適用(あるいは上書き)するには、以下のコマンドを入力します。 ::
localwiki-manage reset_permissions
.. note::
この章で説明されている内容に限らず、管理者と特権ユーザに対しては、所属しているグループに関わらず、常に全てのアクセス権限が許可されています。
``Banned`` グループに所属してしまっている場合でも、管理者と特権ユーザに対しては全てのアクセス権限が許可されます。