コード例 #1
0
        public AdUser GetUserFromAdBy(string login)
        {
            new Validator(this).ValidateConfiguration();
            string searchCriteria =
                $"(&(objectClass={LdapConfiguration.ObjectClass.User})({LdapConfiguration.Attribute.UniqueName}={login}))";

            LdapFilter filter = new LdapFilter
            {
                SearchPath     = LdapConfiguration.Path,
                SearchCriteria = searchCriteria
            };
            LdapEntry userEntry = SearchBy(filter).FirstOrDefault();

            if (userEntry == null)
            {
                throw new Exception(
                          $"User {login} not found on {LdapConfiguration.Path} using ObjectClass {LdapConfiguration.ObjectClass.User} and uniqueName {LdapConfiguration.Attribute.UniqueName}");
            }

            return(new AdUser(userEntry, GetAdGroups(userEntry.GetDistinguishedName())));
        }