PermissionVoter may be used to determine access restrictions for application resources. For every
permission check the application performs, the vote() method of each known
is invoked. For the permission check to succeed, at least one
PermissionVoter must return a result of
GRANT. If any
PermissionVoter returns a result of
permission check is unsuccessful and the user is not allowed to carry out the requested operation.
PermissionVoter does not explicitly allow or deny the permission, it should return a result of