如何使用窗口身份验证获取电子邮件地址

car*_*ter 3 asp.net email asp.net-mvc windows-authentication

我正在使用ASP.net MVC框架设计Web应用程序.我想使用Windows身份验证并使用角色管理器SQLRoleProvider执行角色检查.

如何确定当前登录用户的电子邮件地址?这甚至可能吗?

应用程序将部署在多域Intranet中,如果这很重要(我认为它确实如此).

谢谢你的帮助!

Mar*_*lec 7

以下是一些代码中的示例:

DirectorySearcher searcher = new DirectorySearcher();    
searcher.Filter = string.Format("sAMAccountName={0}", _name);    
SearchResult user = searcher.FindOne();    
string emailAddr = user.Properties["mail"][0].ToString();
Run Code Online (Sandbox Code Playgroud)


Tim*_*imS 4

您可以在 Active Directory 中查找用户的属性。这是一篇很棒的文章,解释了如何使用 System.DirectoryServices 和 C# 来做到这一点:

http://www.codeproject.com/Articles/6778/How-to-get-User-Data-from-the-Active-Directory