Package io.aeron.security
Interface AuthorisationService
- All Known Implementing Classes:
SimpleAuthorisationService
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Interface for an authorisation service to handle authorisation checks of clients performing actions on a system.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final AuthorisationService
AnAuthorisationService
instance that allows every action.static final AuthorisationService
AnAuthorisationService
instance that forbids all actions. -
Method Summary
Modifier and TypeMethodDescriptionboolean
isAuthorised
(int protocolId, int actionId, Object type, byte[] encodedPrincipal) Checks if the client with authenticated credentials is allowed to perform an operation indicated by the givenactionId
.
-
Field Details
-
ALLOW_ALL
AnAuthorisationService
instance that allows every action. -
DENY_ALL
AnAuthorisationService
instance that forbids all actions.
-
-
Method Details
-
isAuthorised
Checks if the client with authenticated credentials is allowed to perform an operation indicated by the givenactionId
.- Parameters:
protocolId
- of the protocol to which the action belongs, e.g. a SBE schema id.actionId
- of the command being checked, e.g. a SBE message template id.type
- optional type for the command being checked, may benull
. For example for an admin request in the cluster it will containAdminRequestType
value which denotes the exact kind of the request.encodedPrincipal
- that has been authenticated.- Returns:
true
if the client is authorised to execute the action orfalse
otherwise.
-