]> git.imager.perl.org - bse.git/blame - site/docs/access.pod
0.12_09 commit
[bse.git] / site / docs / access.pod
CommitLineData
0d5ccc7f
TC
1=head1 NAME
2
3access.pod - access control for administration of BSE
4
5=head1 SYNOPSIS
6
7The implementation of access control for BSE.
8
9=head1 DESCRIPTION
10
11The aim is to provide flexible access control, without requiring
12micro-management from the administrators.
13
14Since we want to be control a user's access to specific fields
15(eg. the template and parent fields), rather than having an admin have
16to setup specific access to those fields, we want some sort of "macro"
17mechansim to control several things at once.
18
19Some possible access macros could be:
20
21=over
22
23=item *
24
25allow editing body and title of an article
26
27=item *
28
29add an article, with everything fixed, except for title and body
30
31=item *
32
33allow changes to everything but the shop
34
35=item *
36
37allow changes only to the shop
38
39=back
40
41We also need to be able to separately control whole trees, rather than
42just specific articles, so it should be possible to refer to "all
43descendants of article foo".
44
45Possible article permissions:
46
47=over
48
49=item *
50
51add child
52
53=item *
54
55modify
56
57=item *
58
59modify field I<foo>
60
61=item *
62
63add image
64
65=item *
66
67reorder children
68
69=item *
70
71delete
72
73=item *
74
75delete image
76
77=item *
78
79change image details
80
81=back
82
83=head1 MACRO PERMISSIONS
84
85These would be split into two types of macro permissions, those that
86control specific articles, and those that are applied to an article.
87
88Each macro will need to be described in bse.cfg, and the name of the
89macro assigned an index so that it can be controlled.
90
caa7299c
TC
91Since most normal permissions aren't going to be directly useful, the
92only permissions stored in the system will be macro based permissions.
93
0d5ccc7f
TC
94=head2 Attached macros
95
96These name one or more articles and the permissions can be different
97for each article.
98
99=head2 Unattached macros
100
101These supply a set of permissions to some article specified through
102the administration interface.
103
104=head1 GROUPS
105
106To make it simpler to control permissions, each user belongs to one of
107more groups, each of which only supplied positive permissions.
108
109Whether or not listed in the group, each user is in the "everyone"
110group.
111
112=head1 DEFAULT PERMISSIONS
113
114The everyone group, and the administrator user, both have the macro
115"Full Access" on all descendants of article -1.
116
117
08123550
TC
118=head1 MACRO STORAGE
119
120To simplify processing we have two sections in the config file:
121
122=over
123
124=item *
125
126[Global permissions] - keeps permissions that have all article
127references resolved
128
129=item *
130
131[Article permissions] - permissions which have to reference an article
132
133=back
134
135The [permission ids] section is used to translate permission indexes to
136permission ids.
137
138The [permission names] section is used to translate permission indexes
139to descriptive permission names.
140
141=cut
142