我正在使用角色提供者,并通过他们的Windows登录管理我的Intranet上的用户。 我怎样才能使用他们的用户信息,从他们的asp.net拉他们的电子邮件地址和一些其他用户内容?asp.net角色提供者 - 获取用户的电子邮件地址?
我需要钩入活动目录吗?样本冷杉这将是巨大的,如果这是去
感谢所有
我正在使用角色提供者,并通过他们的Windows登录管理我的Intranet上的用户。 我怎样才能使用他们的用户信息,从他们的asp.net拉他们的电子邮件地址和一些其他用户内容?asp.net角色提供者 - 获取用户的电子邮件地址?
我需要钩入活动目录吗?样本冷杉这将是巨大的,如果这是去
感谢所有
我的乡亲,这里是你如何可以从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();
成员提供者负责这一问题的方法,有对类的MembershipUser电子邮件属性。 (请记住,它应该工作的供应商,SQL或AD相同,不论)
我使用角色提供者,而不是成员资格提供者。 – kacalapy 2010-10-26 17:53:11
角色提供商不会为您提供该信息,它是为了向用户建立授权,而不是验证用户或获取他们的信息。您可能必须使用Windows客户端的成员资格提供程序,或使用目录服务来获取用户信息。 – Mikeware 2010-10-26 18:04:47