Update AuthorizationFactory interface #1704
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update
AuthorizationFactory
interface to make it more secure.The issues
Wrong method invoked during on-the-fly authorization
When
CompositeAuthorizationFactory
is configured, this always returns theBasePastisAuthorizer
. It is a problem becauseScriptTokenPrincipal
can only be authorized byScriptTokenRoleAuthorizer
, otherwise illegal access is possible. It was prevented before the introduction of on-the-fly authorization via bundling the authenticator and the authorizer in the auth filter creation.AuthorizationFactory
interfaceThe interface of
AuthorizationFactory
makes it possible get wrong authorizer.Fixes
Dissociate
TeletraanAuthorizer
andAuthorizer
interfaces.TeletraanAuthorizer
stops extendingAuthorizer
. All authorizers implementingTeletraanAuthorizer
now need to implementTeletraanAuthorizer
andAuthorizer
respectively.New method in
AuthorizationFactory
The existing methods are updated to return
Authorizer
.Introduced a new method to return
TeletraanAuthorizer
.Call new method in
EnvCapacities
And it's the only option now, no way to be mistaken.