| java.lang.Object com.ecyrd.jspwiki.auth.acl.DefaultAclManager
DefaultAclManager | public class DefaultAclManager implements AclManager(Code) | | Default implementation that parses Acls from wiki page markup.
author: Andrew Jaquith since: 2.3 |
Field Summary | |
final public static Pattern | ACL_PATTERN Identifies ACL strings in wiki text; the first group is the action (view, edit) and
the second is the list of Principals separated by commas. | static Logger | log |
Method Summary | |
public Acl | getPermissions(WikiPage page) Returns the access control list for the page.
If the ACL has not been parsed yet, it is done
on-the-fly. | public void | initialize(WikiEngine engine, Properties props) Initializes the AclManager with a supplied wiki engine and properties. | public Acl | parseAcl(WikiPage page, String ruleLine) A helper method for parsing textual AccessControlLists. | protected static String | printAcl(Acl acl) Generates an ACL string for inclusion in a wiki page, based on a supplied Acl object. | public void | setPermissions(WikiPage page, Acl acl) Sets the access control list for the page and persists it by prepending
it to the wiki page markup and saving the page. |
ACL_PATTERN | final public static Pattern ACL_PATTERN(Code) | | Identifies ACL strings in wiki text; the first group is the action (view, edit) and
the second is the list of Principals separated by commas. The overall match is
the ACL string from [{ to }].
|
getPermissions | public Acl getPermissions(WikiPage page)(Code) | | Returns the access control list for the page.
If the ACL has not been parsed yet, it is done
on-the-fly. If the page has a parent page, then that is tried also.
This method was moved from Authorizer;
it was consolidated with some code from AuthorizationManager.
This method is guaranteed to return a non-null Acl.
Parameters: page - the page since: 2.2.121 the Acl representing permissions for the page |
parseAcl | public Acl parseAcl(WikiPage page, String ruleLine) throws WikiSecurityException(Code) | | A helper method for parsing textual AccessControlLists. The line is in
form "ALLOW , , ". This
method was moved from Authorizer.
Parameters: page - The current wiki page. If the page already has an ACL, itwill be used as a basis for this ACL in order to avoid thecreation of a new one. Parameters: ruleLine - The rule line, as described above. A valid Access Control List. May be empty. throws: WikiSecurityException - if the ruleLine was faulty somehow. since: 2.1.121 |
printAcl | protected static String printAcl(Acl acl)(Code) | | Generates an ACL string for inclusion in a wiki page, based on a supplied Acl object.
All of the permissions in this Acl are assumed to apply to the same page scope.
The names of the pages are ignored; only the actions and principals matter.
Parameters: acl - the ACL the ACL string |
setPermissions | public void setPermissions(WikiPage page, Acl acl) throws WikiSecurityException(Code) | | Sets the access control list for the page and persists it by prepending
it to the wiki page markup and saving the page. When this method is
called, all other ACL markup in the page is removed. This method will forcibly
expire locks on the wiki page if they exist. Any ProviderExceptions will be
re-thrown as WikiSecurityExceptions.
Parameters: page - the wiki page Parameters: acl - the access control list since: 2.5 throws: WikiSecurityException - of the Acl cannot be set |
|
|