2012-03-02 26 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