2010-10-26 51 views
1

我正在使用角色提供者,並通過他們的Windows登錄管理我的Intranet上的用戶。 我怎樣才能使用他們的用戶信息,從他們的asp.net拉他們的電子郵件地址和一些其他用戶內容?asp.net角色提供者 - 獲取用戶的電子郵件地址?

我需要鉤入活動目錄嗎?樣本冷杉這將是巨大的,如果這是去

感謝所有

回答

0

我的鄉親,這裏是你如何可以從Active Directory拉任何數據點。在我的代碼我得到用戶的電子郵件

SELECT mail FROM 'LDAP://DC=Domain,DC=win,DC=ml,dc=COM' WHERE samaccountname = 'userName' 

       System.Data.OleDb.OleDbConnection con; 
       System.Data.OleDb.OleDbDataAdapter da; 
       System.Data.OleDb.OleDbCommand cmd; 
       System.Data.DataTable dt = new System.Data.DataTable(); 

       con = new System.Data.OleDb.OleDbConnection("Provider=ADsDSOObject;dsn=Active Directory Provider"); 
       con.Open(); 

       //    Create a command object on this connection 

       cmd = new System.Data.OleDb.OleDbCommand(this.tbQuery.Text, con); 
       da = new System.Data.OleDb.OleDbDataAdapter(); 
       da.SelectCommand = cmd; 

       try 
       { 
        da.Fill(dt); 
        this.dgResults.DataSource = dt; 
       } 
       catch (System.Data.OleDb.OleDbException exc) 
       { 
        MessageBox.Show(exc.Message); 
       } 
       con.Close(); 
1

成員提供者負責這一問題的方法,有對類的MembershipUser電子郵件屬性。 (請記住,它應該工作的供應商,SQL或AD相同,不論)

檢查this MSDN article for detailed information

+0

我使用角色提供者,而不是成員資格提供者。 – kacalapy 2010-10-26 17:53:11

+0

角色提供商不會爲您提供該信息,它是爲了向用戶建立授權,而不是驗證用戶或獲取他們的信息。您可能必須使用Windows客戶端的成員資格提供程序,或使用目錄服務來獲取用戶信息。 – Mikeware 2010-10-26 18:04:47

相關問題