SMF has a very powerful permission system allowing the forum administrator to control what is and what is not allowed on their forum in many attributes such as attaching files to posts or being able to allow members to moderate posts in topics that they have started. The system is made easy by setting permissions through a membergroup basis, rather than having to change permissions one by one for each board.
About Permissions
Options
SMF's permissions are so powerfull because they can be set for each individual permission to three options rather than just on or off.
- A - This option gives user current permission
- X - This option does not give the user current permission
- D - This option denies the user current permission
Things get really interesting quikly when a user belongs to 2 or more membergroups with different options (A, X or D) for the same permission.
Member belongs to 2 membergroups
In this example a member belongs to only 2 different membergroups with different options for some permissions:
permissions | option from group A | option from group B | Result for permission | explanation |
---|---|---|---|---|
permission 1 | A | A | allowed | obviously |
permission 2 | A | X | allowed | A wins X |
permission 3 | A | D | not allowed | D wins A |
permission 4 | X | X | not allowed | obvious too |
permission 2 | X | D | not allowed | D wins X |
permission 3 | D | D | not allowed | is this obvious or what? |
In short: D wins A which wins X
Member belongs to 3 or more membergroups
- If you want a permission to be allowed, then you must have option A in at least one group and no D.
- If you want a permission to be disallowed, then you must have all options X, or
- If you want a permission to be disallowed, you must have option D in at least one group. It doent matter if other options are A or X.
You shouldn't use D too much. Its a good idea to use special private membergroups just to Deny some permissions. If you don't want some members to use e.g. private messages, you can set up a private membergroup with a descriptive name like "no-pm" and for that membergroup, set the permissions for pm to D. Every member of that group is not allowed pm's regardless of the other groups they belong. If you change your mind about that setting you can find easily which membergroup restricts pm's and reset it.
Pages in category "Permissions"
The following 11 pages are in this category, out of 11 total.