Visual Studio C#获取用户所在的组列表

时间:2014-06-23 19:04:35

标签: c# asp.net

我需要拥有代码,以便它需要用户名并输出用户属于我的域的组列表。我目前只是在控制台应用程序上运行它,但是一旦代码完成,我将需要它在ASP .NET Web应用程序上运行。

我目前将此作为我的起始代码。

public List<GroupPrincipal> GetGroups(string userName)
    {
        List<GroupPrincipal> result = new List<GroupPrincipal>();

        // establish domain context
        PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain);

        // find your user
        UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, userName);

        // if found - grab its groups
        if (user != null)
        {
            PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();

            // iterate over all groups
            foreach (Principal p in groups)
            {
                // make sure to add only group principals
                if (p is GroupPrincipal)
                {
                    result.Add((GroupPrincipal)p);
                }
            }
        }

        return result;
    }

0 个答案:

没有答案