Authorization is validating if an authenticated user is allowed to perform a secured operation.
The jBPM engine and user code can verify if a user is allowed to perform a given
operation with the API method org.jbpm.security.Authorization.checkPermission(Permission)
.
The Authorization class will also delegate that call to a configurable implementation.
The interface for pluggin in different authorization strategies is
org.jbpm.security.authorizer.Authorizer
.
In the package org.jbpm.security.authorizer there are some examples that show intentions of authorizer implementations. Most are not fully implemented and none of them are tested.
Also still todo is the definition of a set of jBPM permissions and the verification of
those permissions by the jBPM engine. An example could be verifying that the current authenticated
user has sufficient privileges to end a task by calling
Authorization.checkPermission(new TaskPermission("end", Long.toString(id)))
in the TaskInstance.end() method.