8.8. 条件付きフローの条件
実行要件 で述べたように、条件 実行は 条件付き サブフローにのみ含めることができます。すべての条件実行が true と評価されると、Conditional サブフローは Required として機能します。Conditional サブフローの次の実行を処理できます。Conditional サブフローに含まれる一部の実行が false と評価されると、サブフロー全体が Disabled と見なされます。
8.8.1. 利用可能な条件
Condition - User Role
この実行では、ユーザーに User role フィールドで定義されているロールがあるかどうかを判別できます。ユーザーに必要なロールが割り当てられている場合、実行は true と判断され、その他の実行が評価されます。管理者は以下のフィールドを定義する必要があります。
- Alias
- 認証フローに表示される実行の名前を記述します。
- User role
-
このフローを実行するために必要なユーザーロール。アプリケーションロールを指定する場合、構文は
appname.approle
(myapp.myrole
など) です。
Condition - User Configured
- これは、フローの他の実行がユーザーに設定されているかどうかを確認します。実行要件のセクションには、OTP フォームの例が含まれています。
Condition - User Attribute
これは、ユーザーが必要な属性を設定しているかどうかを確認します。出力が否定される可能性があります。この場合、ユーザーに属性を設定することはできません。ユーザー属性 セクションでは、カスタム属性の追加方法を示します。以下のフィールドを指定できます。
- Alias
- 認証フローに表示される実行の名前を記述します。
- Attribute name
- 確認する属性の名前。
- Expected attribute value
- 属性の想定される値。
- Negate output
- 出力を否定することができます。つまり、この属性は存在しません。
8.8.2. 条件付きフローでのアクセスの明示的な拒否/許可
条件付きフローのリソースへのアクセスを許可または拒否できます。2 つのオーセンティケーターの Deny Access
と Allow Access
は、条件でリソースへのアクセスを制御します。
Allow Access
- オーセンティケーターは常に認証に成功します。このオーセンティケーターは設定できません。
Deny Access
アクセスは常に拒否されます。ユーザーに表示されるエラーメッセージを定義できます。以下のフィールドを指定できます。
- Alias
- 認証フローに表示される実行の名前を記述します。
- エラーメッセージ
-
ユーザーに表示されるエラーメッセージ。エラーメッセージは、特定のメッセージまたはローカリゼーションで使用するためのプロパティーとして提供できます (例:You do not have the role 'admin'."、メッセージプロパティーの my-property-deny)。プロパティー
access-denied
として定義されたデフォルトメッセージは空欄のままにします。
以下の例は、ロール role1
を持たないすべてのユーザーのアクセスを拒否し、プロパティー deny-role1
で定義されたエラーメッセージを表示する方法を示しています。この例には、Condition - User Role
および Deny Access
実行が含まれます。
ブラウザーのフロー
Condition - user role configuration
Deny Access
の設定は非常に簡単です。以下のように、任意のエイリアスと必要なメッセージを指定できます。
最後に、ログインテーマのエラーメッセージのプロパティー messages_en.properties
(英語の場合) を定義します。
deny-role1 = You do not have required role!
deny-role1 = You do not have required role!