初期化仕様¶
認可機構では、システム起動時に複数のコンポーネントの初期化処理を行っています。
初期化処理では、以下のインタフェースを持つクラスを ServiceLoader を使って読み込み、以下の Level の順で実行します。
Level0 ( jp.co.intra_mart.foundation.authz.initialize.phases.Level0 )
XMLの設定情報をベースに動作可能なコンポーネントの初期化を行います。基本的にDBへのアクセスを必要としないものが対象です。ResourceManagerやSubjectManager等のマネージャAPIはこのレベルでは使えません。
- ルーティングテーブルに使用する認可リソースマッパ拡張の読み込み
- 認可判断機能の認可判断モジュール拡張の読み込み
- 式パーサの初期化
- リソースタイプ拡張の読み込み
- サブジェクトタイプ拡張の読み込み
- ポリシー解釈器設定の読み込み
Level1 ( jp.co.intra_mart.foundation.authz.initialize.phases.Level1 )
XMLの設定情報をベースに動作可能なコンポーネント(Level0で初期化されるコンポーネント)を使用するコンポーネントの初期化を行います。マネージャAPIのうち初期化が必要なものはこのレベルで初期化されます。ただしテナント環境セットアップが最後まで完了していない場合、このレベルの初期化が終わっても正常に動作できない可能性があります。
- サブジェクト解決系の初期化
- サブジェクトリゾルバ拡張の読み込み
Level2 ( jp.co.intra_mart.foundation.authz.initialize.phases.Level2 )
マネージャAPIを使用する必要のあるコンポーネントの初期化を行います。
プラグインや拡張などを追加する際に、起動時の初期化が必要であれば、適切なタイミングで初期化できるよう注意してください。