asp.net角色提供者 - 获取用户的电子邮件地址?

时间:2010-10-26 15:52:22

标签: asp.net active-directory roleprovider

我正在使用角色提供程序,并让它通过Windows登录管理我的Intranet上的用户。 我如何使用他们的用户信息从asp.net中提取他们的电子邮件地址和其他一些用户内容?

我需要挂钩到活动目录吗?如果这是最佳选择,这将是一个很好的例子

感谢所有

2 个答案:

答案 0 :(得分:1)

会员提供商对此负责,MembershipUser类上有一个Email属性。 (请记住,无论提供者,SQL还是AD,它都应该起作用)

检查this MSDN article for detailed information

答案 1 :(得分: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();