MVC4:获取Active Directory用户指南

时间:2012-11-27 05:21:39

标签: asp.net-mvc

用户登录Windows身份验证网站后,如何从用户处获取Active Directoy用户指南。

例如在一个动作中:

ViewBag.Message = User.Identity.GUID????

2 个答案:

答案 0 :(得分:7)

您应该查看System.DirectoryServices.AccountManagement(S.DS.AM)命名空间。在这里阅读所有相关内容:

基本上,您可以定义域上下文并轻松在AD中查找用户和/或组:

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find the current user
UserPrincipal user = UserPrincipal.Current;

if(user != null)
{
   // get guid
   var userGuid = user.Guid;
}

新的S.DS.AM让您可以轻松地与AD中的用户和群组一起玩!

答案 1 :(得分:-2)

 string userName = user.Identity.Name.Split('\\')[1];

            using (var oRoot = new DirectoryEntry(ConfigurationManager.AppSettings["LDAPDomain"], null, null, AuthenticationTypes.Secure))
            {
                using (var deSearch = new DirectorySearcher(oRoot))
                {
                    deSearch.Filter = string.Format("(&(sAMAccountName={0}))", userName);
                    SearchResult searchResult = deSearch.FindOne();
                    if (searchResult != null)
                    {
                        DirectoryEntry de = searchResult.GetDirectoryEntry();

                    }
                }
            }