1

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

我需要连接到活动目录吗?如果这是要走的路,这将是一个很好的样本

谢谢大家

4

2 回答 2

1

成员资格提供者对此负责,MembershipUser 类上有一个 Email 属性。(请记住,无论提供者、SQL 或 AD 是什么,它都应该工作相同)

查看此 MSDN 文章以获取详细信息

于 2010-10-26T17:37:47.177 回答
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();
于 2010-10-27T16:37:25.367 回答