アクション スクリプトの例 (セキュリティ フェーズ)
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
以下に、セキュリティ フェーズ (処理中) のトリガーによって実行されるアクション スクリプトの例を示します。このスクリプトは、Web タイプのアセットを作成または変更しようとしているユーザーが正しいセキュリティ グループに属しているかどうかを検証します。
ユース ケース
ユース ケース
- ユーザーがアセットを作成または変更します。
- アセット タイプが Web の場合、このユーザーが Web エージェンシー ユーザー ユーザー グループ (この例のために作成されたユーザー グループ) に属しているかどうかがスクリプトによってチェックされます。
- ユーザーが正しいユーザー グループに属していない場合は、例外がスローされます。
前提条件
前提条件
Web は、M.AssetType の既定のタイプではありません。必要に応じて作成する必要があります。
-
[管理] に移動して [タクソノミー] を選択します。
-
[M.Asset] を検索します。
-
[+] をクリックして、M.AssetType タクソノミーに新しいクラスを追加します。
-
新しいアイテムのラベルとして「Web」と入力します。
-
[保存] をクリックして、新しいアセット タイプの Web を M.AssetType タクソノミーに追加します。
スクリプト
スクリプト
スクリプトの説明
スクリプトの説明
-
このエンティティとともに読み込むプロパティを指定する
EntityLoadConfigurationオブジェクトを作成します。注意この例では、読み込む必要があるリレーションは
UserGroupToUserだけです。このリレーションは、ユーザーが属するグループを指定します。 -
ユーザー ID (
Context.TriggeringUserId.Value) と読み込み設定を指定してuserエンティティを取得します。注意MClientオブジェクトは常に使用可能であり、すべてのスクリプト タイプで使用できます。MClientの詳細については、「SDK API リファレンス ガイド」(MClient) を参照してください。Entities(MClientのIEntitiesClient型のプロパティ) のGetAsyncメソッドは、エンティティの ID と読み込み設定オブジェクト (オプション引数) を受け取ってエンティティ オブジェクトを返します。 -
ユーザー オブジェクトが返されなかった場合は、
InvalidOperationExceptionをスローします。 -
ユーザー グループを取得します。
注意MClientオブジェクトは常に使用可能であり、すべてのスクリプト タイプで使用できます。MClientの詳細については、「SDK API リファレンス ガイド」(MClient) を参照してください。 -
ユーザー グループが見つからない場合は、
InvalidOperationExceptionをスローします。 -
ユーザーのユーザー グループを取得します。
警告GetRelationAsyncを使用してリレーション オブジェクトを取得するには、リレーションのタイプを指定する必要があります。この例では、これはIChildToManyParentsRelationです。リレーションのタイプの詳細については、「SDK API リファレンス ガイド」(Stylelabs.M.Sdk.Contracts.Base) を参照してください。 -
ユーザー グループに「Web エージェンシー ユーザー」グループが含まれていない場合は、
ForbiddenExceptionをスローします。注意ForbiddenExceptionの詳細、および使用可能なカスタム例外の一覧については、「SDK API リファレンス ガイド」(Stylelabs.M.Sdk.Exceptions) を参照してください。