2010-10-26 55 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

相关问题