Index: openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html,v diff -u -r1.46 -r1.47 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 27 Oct 2014 16:39:24 -0000 1.46 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 7 Aug 2017 23:47:51 -0000 1.47 @@ -1,5 +1,5 @@ -
+
by Vadim Nasardinov. Modified and converted to Docbook XML by Roberto Mello
The code has been modified since this document was written so it is now out of date. See this forum thread.
Who
(grantee_id
) can do what
@@ -90,7 +90,7 @@
to store permission information explicitly about every object, i.e. if the system has 100,000 and 1,000 users
who have the read privilege on all objects, then we would need to store 100,000,000
entries of the form:
-
object_id | grantee_id | privilege |
---|---|---|
object_id_1 | user_id_1 | 'read' |
object_id_1 | user_id_2 | 'read' |
... | ||
object_id_1 | user_id_n | 'read' |
object_id_2 | user_id_1 | 'read' |
object_id_2 | user_id_2 | 'read' |
... | ||
object_id_2 | user_id_n | 'read' |
... | ||
... | ||
object_id_m | user_id_1 | 'read' |
object_id_m | user_id_2 | 'read' |
... | ||
object_id_m | user_id_n | 'read' |
+
object_id | grantee_id | privilege |
---|---|---|
object_id_1 | user_id_1 | 'read' |
object_id_1 | user_id_2 | 'read' |
... | ||
object_id_1 | user_id_n | 'read' |
object_id_2 | user_id_1 | 'read' |
object_id_2 | user_id_2 | 'read' |
... | ||
object_id_2 | user_id_n | 'read' |
... | ||
... | ||
object_id_m | user_id_1 | 'read' |
object_id_m | user_id_2 | 'read' |
... | ||
object_id_m | user_id_n | 'read' |
Although quite feasible, this approach fails to take advantage of the fact that objects in the system are commonly organized hierarchally, and permissions usually follow the hierarchical structure, so that if user @@ -105,7 +105,7 @@
Suppose objects A, B, ..., and F form the following hierarchy. -
Table 11.2. Context Hierarchy Example
+ Table 11.2. Context Hierarchy Example
|