如何将电子邮件从LDAP拉入web应用程序
本文关键字:拉入 web 应用程序 LDAP 电子邮件 | 更新日期: 2023-09-27 18:29:11
我正在开发一个C#和ASP.Net应用程序,该应用程序使用我在这里找到的Forms Authentication。。。http://msdn.microsoft.com/en-us/library/ms180890(v=vs.90).aspx
它工作得很好,但现在我想更进一步,从LDAP中的邮件字段中提取电子邮件地址,并将其与的其余部分一起传输到文本中
lblName.Text = "Hello " + Context.User.Identity.Name + ".";
lblAuthType.Text = "You were authenticated using "
+ Context.User.Identity.AuthenticationType + ".";
我搜索并阅读了这些链接,寻找答案。。。
如何获取当前用户';s C#中的Active Directory详细信息
如何使用电子邮件作为httpcontext。User.Identity.name
http://www.codekeep.net/snippets/402e4677-f8d0-419c-b656-b3c28e740296.aspx
根据我的判断,我需要像另一个DirectorySearcher查询一样向LdapAuthentication.cs添加代码,但我是否必须进行全新的搜索,或者我可以在它查找用户名时将其添加到它进行的查询中??喜欢
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + username + ")";
search.PropertiesToLoad.Add("cn");
search.PropertiesToLoad.Add("mail"); // e-mail address
SearchResult result = search.FindOne();
if (null == result)
{
return false;
}
我对这个很陌生,我很努力,但我做不到。。有什么帮助吗?
您可以将邮件添加到PropertiesToLoad,然后通过访问(String)result.Properties["mail"][0]来获得结果。Properties是一个2d数组,第一个向量是属性名称,第二个向量用于属性是多变量的情况。
您应该看到MSDN上的Implementing a Profile Provider和ASP.NET Profile Properties Overview。实现ProfileProvider可以通过Profile对象提供属性。这样,您就可以提供您想要的任何附加信息。