如何将电子邮件从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;
            }

我对这个很陌生,我很努力,但我做不到。。有什么帮助吗?

如何将电子邮件从LDAP拉入web应用程序

您可以将邮件添加到PropertiesToLoad,然后通过访问(String)result.Properties["mail"][0]来获得结果。Properties是一个2d数组,第一个向量是属性名称,第二个向量用于属性是多变量的情况。

您应该看到MSDN上的Implementing a Profile Provider和ASP.NET Profile Properties Overview。实现ProfileProvider可以通过Profile对象提供属性。这样,您就可以提供您想要的任何附加信息。