== Example ==
{{{
# acl.default.php
# <?php exit()?>
# Please don't modify the lines above
#
# A sample Access Control Lists file for Moniwiki
#
# $Id: WikiACL,v 1.2 2006/07/09 14:23:23 wkpark Exp wkpark $
@Guest  Anonymous
*       @ALL            deny    *
*       @ALL            allow   ticket
*       @User           allow   *
# some pages are allowed to edit
WikiSandBox     @Guest  allow   edit,info,diff
#*      Anonymous       deny    *
# some POST actions support protected mode using admin password
*       @ALL            protect deletefile,deletepage,rename,rcspurge,rcs,chmod,backup,restore
# some actions allowed to @ALL
*       @ALL            allow   read,userform,rss_rc,aclinfo,fortune,deletepage,fixmoin,ticket
# some pages have restrict permission
MoniWiki        @ALL    deny    edit,uploadfile,diff
}}}
== Predefined @group ==
 * @ALL: all users (priority: 1)
 * @User: registered users (priority: 2)
== User define @Group and @Group priority ==
{{{
##@groupname userlist [priority]
@Guest  Anonymous                   # default group priority is 2
@Kiwirian foobar,kiwi,hello123   20 # @Kiwirain group
}}}
== ACL entry type ==
 * `allow`
 * `deny`
 * `protect`: protect some password protected POST actions (not all actions are protectable)
== ACL matching procedure ==
=== with same priority ===
Last ACL entry is used.
 * {{{allow *}}} + {{{deny *}}} = {{{deny *}}}
 * {{{deny *}}} + {{{allow *}}} = {{{allow *}}}
 * {{{deny *}}} + {{{allow edit,info}}} = only edit,info available
 * {{{allow *}}} + {{{deny info,diff}}} = 
=== with different priority ===
{{{
@Group1    peter,john      20    # priority = 20
@Group2    simon,soo             # default group priorty = 2
* @ALL     allow *               # group priority = 1
* @ALL     deny  backup,restore
* @Guest   deny  *               # group priority = 2
* @Group1  deny  *               # User defined @Group1 group
* @Group1  allow read,info,diff
* @Group2  deny  info,diff
}}}
 * peter and john: {{{allow read,info,diff}}} + {{{deny *}}}
 * Anonymous (@Guest): {{{deny *}}}
 * all other registered users: '''Order Deny,Allow''' - {{{deny backup,resotre}}} + {{{allow *}}}
 * @Group1 : '''Order Allow,Deny''' - {{{allow read,info,diff}}} + {{{deny *}}}
 * @Group2 : {{{deny info,diff}}} + {{{@ALL deny backup,restore}}} + {{{allow *}}}
  * /!\ merge all ACL entries with same group priority.
