是否有可重复的方法从用户管理器导出用户列表。我已经通过6.2文档和在线,没有成功。
答案 0 :(得分:4)
Sitecore的用户管理基于ASP.NET成员身份,因此您可以使用标准ASP.NET类来访问用户。问题“Sitecore query/fast query for user”可能会有所帮助。
以下是一些示例代码,可帮助您入门:
var users = Sitecore.Security.Accounts.UserManager.GetUsers();
答案 1 :(得分:2)
我发现最简单/最快捷的方法是使用用户管理器的序列化功能。我认为自从v6以来你已经能够做到这一点。这是documentation。
答案 2 :(得分:1)
Sitecore.Security.Domains.Domain类有一个GetUsers()方法,如果您只需要方便地列出特定安全域中的用户。
答案 3 :(得分:0)
我遇到了同样的问题,并使用了Mark的建议。继承我的(黑客一起)代码
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder output = new StringBuilder();
var users = Sitecore.Security.Accounts.UserManager.GetUsers();
foreach (Sitecore.Security.Accounts.User item in users)
{
string email = "";
if(!string.IsNullOrEmpty(item.Profile.Email) ){
email = item.Profile.Email;
}
output.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>",
item.DisplayName.ToString(),
email,
item.Profile.Comment
);
}
showusers.Text = output.ToString();
}
请注意,默认的sitecore用户字段会在其中显示,它们位于.Profile