Sitecore запрос / быстрый запрос для пользователя - PullRequest
1 голос
/ 20 декабря 2011

Есть ли способ использовать быстрый запрос или запрос, чтобы получить пользователя по электронной почте или через пользовательское поле?Я пробовал это, но он не работал в Query Tool

/ sitecore / user // * [@@ templateid = '{642C9A7E-EE31-4979-86F0-39F338C10AFB}' AND @ email = 'abc@ 123.com ']

1 Ответ

10 голосов
/ 21 декабря 2011

Вы не можете запрашивать (через Sitecore Query или Fast Query) пользователей в Диспетчере пользователей, поскольку они не являются элементами, они фактически построены на членстве ASP.NET в базе данных Core.Вместо этого вы можете посмотреть что-то вроде Membership.GetAllUsers() ( MSDN doc ) и отфильтровать результаты с помощью LINQ на основе того, что вы ищете.

Я сделал нечто подобное в Sitecoreгде я вызвал Sitecore.Security.Accounts.UserManager.GetUsers() и отфильтровал получившиеся User объекты по свойству name.Вы можете сделать что-то похожее на это:

var matches = UserManager.GetUsers().Where(usr => usr.Profile.Email.Equals(emailToMatch));
...