ユーザー登録後スクリプト
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
この例は、新規ユーザーがSitecore Content Hubに追加された後に実行される ユーザー登録後 ウェブスクリプトを示しています。外部プロバイダーがGoogleの場合、そのユーザーを特定のユーザーグループに追加します。
!注始める前に
事前登録プロセスで必要なユーザーグループやプロファイルを設定してください。
Googleというユーザーグループを作成しましょう。
事前登録ワークフローのスクリプトロジックとスキーマプロパティが一致していることを確認してください。
文字
using System.Linq;
if (Context.ExternalUserInfo?.Provider != "Google") return;
var query = Query.CreateQuery(entities => from e in entities where e.DefinitionName == "Usergroup" && e.Property("GroupName") == "Google" select e);
var googleGroupId = await MClient.Querying.SingleIdAsync(query); if (!googleGroupId.HasValue) throw new InvalidOperationException("Google usergroup not found.");
var relation = await Context.User.GetRelationAsync
await MClient.Entities.SaveAsync(Context.User);
脚本の説明
このセクションでは、スクリプトを実行順に順に進め、各パートについて説明します。番号付きの項目はシーケンスを記述しており、実行命令ではありません。
-
必要なライブラリも含めてください。
using System.Linq;
-
外部ユーザープロバイダーを確認してください。プロバイダーがGoogleしていなければ、スクリプトは終了します。
if (Context.ExternalUserInfo?.Provider != "Google") return;
-
Googleユーザーグループを取得するクエリを作成します。
var query = Query.CreateQuery(entities => from e in entities where e.DefinitionName == "Usergroup" && e.Property("GroupName") == "Google" select e);
-
クエリを実行してGoogleグループIDを取得します。
var googleGroupId = await MClient.Querying.SingleIdAsync(query);
-
ユーザーグループが見つからない場合は、InvalidOperationExceptionを投げてください。
if (!googleGroupId.HasValue) throw new InvalidOperationException("Google usergroup not found.");
-
ユーザーのユーザーグループの関係を取得しましょう。
var relation = await Context.User.GetRelationAsync
("UserGroupToUser"); -
ユーザーグループ関係を通じてGoogleグループをユーザーのオブジェクトに追加します。
relation.Parents.Add(googleGroupId.Value);
-
ユーザーエンティティを保存してください。
await MClient.Entities.SaveAsync(Context.User);
セットアップ
- ユーザー登録後スクリプトを作成、公開、有効化します。