public interface Authorizer
Interface for service providers of authorization information. After a user successfully logs in, the
AuthenticationManagerconsults the configured Authorizer to determine which additional
Roleprincipals should be added to the user's Session. To determine which roles should be injected, the Authorizer is queried for the roles it knows about by calling
getRoles(). Then, each role returned by the Authorizer is tested by calling
isUserInRole(Session, Principal). If this check fails, and the Authorizer is of type WebAuthorizer, AuthenticationManager checks the role again by calling
WebAuthorizer.isUserInRole(javax.servlet.http.HttpServletRequest, Principal)). Any roles that pass the test are injected into the Subject by firing appropriate authentication events.
Modifier and Type Method Description
(java.lang.String role)Looks up and returns a role Principal matching a given String.
()Returns an array of role Principals this Authorizer knows about.
Engine engine, java.util.Properties props)(Initializes the authorizer.
Session session, java.security.Principal role)(Determines whether the Subject associated with a WikiSession is in a particular role.
getRolesjava.security.Principal getRoles()Returns an array of role Principals this Authorizer knows about. This method will always return an array; an implementing class may choose to return an zero-length array if it has no ability to identify the roles under its control.
- an array of Principals representing the roles
findRolejava.security.Principal findRole(java.lang.String role)Looks up and returns a role Principal matching a given String. If a matching role cannot be found, this method returns
null. Note that it may not always be feasible for an Authorizer implementation to return a role Principal.
role- the name of the role to retrieve
- the role Principal
initializeInitializes the authorizer.
engine- the current wiki engine
props- the wiki engine initialization properties
WikiSecurityException- if the Authorizer could not be initialized
isUserInRoleDetermines whether the Subject associated with a WikiSession is in a particular role. This method takes two parameters: the WikiSession containing the subject and the desired role ( which may be a Role or a Group). If either parameter is
null, this method must return
session- the current WikiSession
role- the role to check
trueif the user is considered to be in the role,