高速クエリまたはクエリを使用して電子メールまたはカスタムフィールドでユーザーを取得する方法はありますか?これを試しましたが、クエリツールでは機能しませんでした。ユーザーのSitecoreクエリ/高速クエリ
/sitecore/user // * [@@ templateid = '{642C9A7E-EE31-4979-86F0-39F338C10AFB}' AND @ email = 'abc @ 123 .com ']
高速クエリまたはクエリを使用して電子メールまたはカスタムフィールドでユーザーを取得する方法はありますか?これを試しましたが、クエリツールでは機能しませんでした。ユーザーのSitecoreクエリ/高速クエリ
/sitecore/user // * [@@ templateid = '{642C9A7E-EE31-4979-86F0-39F338C10AFB}' AND @ email = 'abc @ 123 .com ']
ユーザーマネージャのユーザーは、アイテムではないためクエリできません。実際には、コアデータベースのASP.NETメンバーシップ上に構築されています。代わりに、Membership.GetAllUsers()
(MSDN doc)のようなものを調べ、探しているものに基づいてLINQで結果をフィルタリングすることができます。
私はSitecore.Security.Accounts.UserManager.GetUsers()
と呼ばれるSitecoreで同様のことをして、結果のUser
オブジェクトをnameプロパティでフィルタリングしました。
var matches = UserManager.GetUsers().Where(usr => usr.Profile.Email.Equals(emailToMatch));
これは私が探していたものです。ありがとう – Gabbar
また、本当にその1つが必要です - ありがとう!!!! :) –
「ユーザー」とは、ユーザーマネージャを経由して取得した、コアDBに格納されている実際のSitecoreユーザーを意味しますか、カスタムテンプレートを意味しますかツリーの新しい部分( '/ sitecore/user')で作成されましたか? –
私は、ユーザーマネージャを使用してサイトにアクセスできるユーザーを意味します。 – Gabbar