поставщик ролей asp.net - получить адрес электронной почты пользователей? - PullRequest
1 голос
/ 26 октября 2010

Я использую поставщика ролей, и он управляет пользователями в моей интрасети через их учетные записи Windows.Как я могу получить их адрес электронной почты и, возможно, некоторый другой пользовательский контент с asp.net, используя их информацию о пользователе?

мне нужно подключиться к активному каталогу?образец ели это было бы здорово, если бы это был путь

спасибо всем

Ответы [ 2 ]

1 голос
/ 26 октября 2010

За это отвечает провайдер членства, в классе MembershipUser есть свойство Email. (Помните, что он должен работать одинаково независимо от провайдера, SQL или AD)

Проверьте эту статью MSDN для получения подробной информации

0 голосов
/ 27 октября 2010

ребята, вот как вы можете получить любые точки данных из 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();
...