Initialization Specification¶
Authorization system initializes multiple components at the system startup.
For the initialization, ServiceLoader is used to read the interfaces below and execute then in the level order below.
Level0 ( jp.co.intra_mart.foundation.authz.initialize.phases.Level0 )
It initializes operatable components based on the setting information of XML. Basically the components that do not require access to DB
will be the target. Manager APIs like ResourceManager or SubjectManager can not be used at this level.
- Reading the authorization resource mapper extension to be used for the routing table
- Reading the authorization judgment module extension of the authorizing judgment function
- Initializing the expression parsers
- Reading the resource type extension
- Reading the subject type extension
- Reading the policy interpreter settings
Level1 ( jp.co.intra_mart.foundation.authz.initialize.phases.Level1 )
It initializes components to use operatable components (components to be initialized at level0) based on the setting information of XML. Within the Manager API, ones require initialization are initialized at this level. However, if the tenant environmental settings are not completed, then the components may not operate properly though after initialization of this level.
- Initializing subject resolution
- Reading the subject resolver extension
Level2 ( jp.co.intra_mart.foundation.authz.initialize.phases.Level2 )
It initializes components that need to use the manager API.
Note that initialization at the appropriate timing should be required if initialization at the system startup is needed when adding plugins and extensions.