Sitecore查询/快速查询用户

Gab*_*bar 1 sitecore

有没有办法使用快速查询或查询来通过电子邮件或自定义字段获取用户?我试过这个,但它在查询工具中不起作用

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

Mar*_*ino 10

您无法在用户管理器中查询(通过Sitecore查询或快速查询)用户,因为它们不是项目,它们实际上是在Core数据库中的ASP.NET成员资格上构建的.相反,您可以查看类似Membership.GetAllUsers()(MSDN doc)的内容,并根据您要查找的内容使用LINQ过滤结果.

我已经在Sitecore中做了类似的事情,我通过名称属性调用Sitecore.Security.Accounts.UserManager.GetUsers()并过滤了生成的User对象.你可以做类似这样的事情:

var matches = UserManager.GetUsers().Where(usr => usr.Profile.Email.Equals(emailToMatch));
Run Code Online (Sandbox Code Playgroud)