How the Integer-masked permission works
Honestly, it's so simple. Let's say we have the following permissions such as read, write, create, delete and administration permissions. We'll assign it like:
Using the logical inclusive OR ("|") operator we can come up with a series of logical combinations.
Not perfect, but better than anything else. So the only thing needed on any permission tables are the actual integer permission values.
administer = 2^0
read = 2^1
write = 2^2
create = 2^3
delete = 2^4
Using the logical inclusive OR ("|") operator we can come up with a series of logical combinations.
read, write = 2 | 4
0010
0100
====
0110 = 6 (READ,WRITE)
read,write,create = 2 | 4 | 8
0010
0100
====
0110
1000
====
1110 = 14 (READ,WRITE,CREATE)
read,write,create,delete = 2 | 4 | 8 | 16
00010
00100
=====
00110
01000
=====
01110
10000
11110 = 30 (READ,WRITE,CREATE,DELETE)
and the list can go on...
Not perfect, but better than anything else. So the only thing needed on any permission tables are the actual integer permission values.
Comments