相关疑难解决方法(0)

如何在Active Directory中获取用户组?(c#,asp.net)

我使用此代码来获取当前用户的组.但我想手动给用户,然后得到他的组.我怎样才能做到这一点?

using System.Security.Principal;

public ArrayList Groups()
{
    ArrayList groups = new ArrayList();

    foreach (IdentityReference group in System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups)
    {
        groups.Add(group.Translate(typeof(NTAccount)).ToString());
    }

    return groups;
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net active-directory

103
推荐指数
5
解决办法
18万
查看次数

获取Active Directory中的组成员身份列表(memberOf)

我回到我的Active Directory工具......

我试图在用户的"成员"属性中列出组.以下是我使用的功能:

public static DataTable ListGroupsByUser(string selectedOu)
{
    DataTable groupListByUser = new DataTable();
    String dom = "OU=" + selectedOu + ",OU=XXX,DC=XXX,DCXXX,DC=XXX,DC=XXX";
    DirectoryEntry directoryObject = new DirectoryEntry("LDAP://" + dom);

    DataColumn column;
    DataRow row;

    column = new DataColumn();
    column.ColumnName = "ID";
    groupListByUser.Columns.Add(column);

    column = new DataColumn();
    column.ColumnName = "User";
    groupListByUser.Columns.Add(column);

    column = new DataColumn();
    column.ColumnName = "Groups";
    groupListByUser.Columns.Add(column);
    int i = 1;

    foreach (DirectoryEntry child in directoryObject.Children)
    {                
        row = groupListByUser.NewRow();
        groupListByUser.Rows.Add(row);
        row["ID"] = i++;

        if (child.Properties["memberOf"].Value != null)
        {                    
            row["User"] …
Run Code Online (Sandbox Code Playgroud)

c# active-directory

7
推荐指数
2
解决办法
2万
查看次数

UserPrincipal.GetAuthorizationGroups()很慢

由于某些原因,GetAuthorizationGroups()似乎需要大约20秒才能返回群组.我正在使用此代码:

UserPrincipal user;

// This takes 20 seconds
user.GetAuthorizationGroups().OfType<GroupPrincipal>().ToList();
Run Code Online (Sandbox Code Playgroud)

任何人有任何想法或只是一个缓慢的AD域?(例如,在Outlook中查看组不需要很长时间)

.net c# active-directory userprincipal

6
推荐指数
1
解决办法
2872
查看次数

你能在C#中找到一个Active Directory用户的主要组吗?

我正在开发一个管理Active Directory中的用户帐户的应用程序.我尽可能使用System.DirectoryServices.AccountManagement命名空间,但我无法弄清楚如何确定用户的主要组.当我尝试删除作为用户主要组的组时,我得到一个例外.这是我目前的代码:

private void removeFromGroup(UserPrincipal userPrincipal, GroupPrincipal groupPrincipal) {
    TODO: Check to see if this Group is the user's primary group.
    groupPrincipal.Members.Remove(userPrincipal);
    groupPrincipal.Save();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法获取用户的主要组的名称,以便我可以在尝试从该组中删除用户之前进行一些验证?

c# active-directory c#-3.0

5
推荐指数
2
解决办法
7188
查看次数

标签 统计

active-directory ×4

c# ×4

.net ×1

asp.net ×1

c#-3.0 ×1

userprincipal ×1