2012-03-02 55 views
0

是否有可重复的方式从用户管理器导出用户列表。我已经通过了6.2文档和在线没有成功。Sitecore 6导出用户列表

+0

这事你需要做编程? – 2012-03-02 19:01:54

+0

理想情况下,它将是一个用户功能,如营销人员的网页表单中的导出功能。看起来我们不得不推出一些东西。 – dteske 2012-03-05 16:22:21

+0

为此,您需要使用下面提供的一些代码示例作为答案,在Sitecore中创建一个新的应用程序或函数。 – 2012-03-05 22:23:58

回答

4

Sitecore的用户管理基于ASP.NET成员身份,因此您可以使用标准ASP.NET类来访问用户。问题“Sitecore query/fast query for user”可能会有所帮助。

下面是一些示例代码,您开始:

var users = Sitecore.Security.Accounts.UserManager.GetUsers(); 
1

的Sitecore.Security.Domains.Domain类有一个GetUsers()方法,如果需要方便地列出只在特定的安全域的用户。

2

我找到的最简单/最快捷的方法是使用用户管理器的序列化功能。我认为你已经能够从v6开始。这是documentation

0

我跑过同一个问题,并使用马克的建议。我的继承人(砍死一起)代码

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