在asp.net网站 - web.config中获取活动目录用户组属性

时间:2013-06-12 14:31:33

标签: c# asp.net iis-7 active-directory web-config

在我的asp.net网站上,我在web.config中使用ActiveDirectoryRoleProvider。我想在我的网站中获取活动目录用户组属性,如(组名,组描述...)。有什么办法可以通过使用web.config解决这个问题吗?

感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

'我不知道您是否可以通过web.config设置获取此信息,但您可以从System.DirectoryServices.AccountManagement命名空间获取此信息。 (如果你在寻找每个用户)

您可以将域名存储在web.config的appsettings中,并执行类似......

的操作
private static PrincipalContext _ctx = new PrincipalContext(ContextType.Domain, System.Configuration.ConfigurationManager.AppSettings["DomainName"]);

  public List<string> UserGroups(string userName)
  {
    List<string> ret = new List<string>();
    using (UserPrincipal user = UserPrincipal.FindByIdentity(_ctx, userName))
    {
      if (user != null)
      {
        foreach (Principal p in user.GetAuthorizationGroups())
        { 
          ret.Add(p.Name);
        }
      }
    }
    return ret;
  }

以上将为您提供用户所属的群组列表,您可以更深入地获取更多信息,但我认为这就是您要完成的任务。