Exemplo n.º 1
0
        public void TestFindUsersByFilterName()
        {
            var ad = new AdAuthenticator()
                     .ConfigureSetLdapPath(LdapPath)
                     .ConfigureLdapDomain(LdapDomain);

            int total;
            var list = ad.GetUsersByNameFilter(NameRightUser.First().ToString(CultureInfo.InvariantCulture), 1, out total, 9999);

            Assert.IsNotNull(list);
            var adUsers = list as AdUser[] ?? list.ToArray();

            Assert.IsTrue(total >= adUsers.Count());
            Assert.IsTrue(adUsers.Any(u => string.Equals(u.Login, RightUser)));

            list = ad.GetUsersByNameFilter(RightUser.Last().ToString(CultureInfo.InvariantCulture), 1, out total, 9999);
            Assert.IsNotNull(list);
            adUsers = list as AdUser[] ?? list.ToArray();
            Assert.IsTrue(total >= adUsers.Count());
            Assert.IsTrue(adUsers.Any(u => string.Equals(u.Login, RightUser)));
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            AdAuthenticator adAuthenticator = new AdAuthenticator();

            ExecuteWithExceptionHandler("StartConnection", () =>
            {
                LdapConnection connection = adAuthenticator.StartConnection();
                Console.WriteLine($"IsConnected: {connection.Connected}");
                connection.Disconnect();
                connection.Dispose();
            });

            ExecuteWithExceptionHandler("AuthenticateAndReturnUser", () =>
            {
                AdUser user = adAuthenticator.AuthenticateAndReturnUser(@"uid=admin,ou=system", "secret");
                Console.WriteLine($"Result User: {user.Name}");
                user.AdGroups.ToList().ForEach(group => Console.WriteLine($"Group: {group.Name ?? group.Code}"));
            });

            ExecuteWithExceptionHandler("GetAdGroups", () =>
            {
                IEnumerable <AdGroup> groups = adAuthenticator.GetAdGroups();
                groups.ToList().ForEach(group => Console.WriteLine($"Group: {group.Name ?? group.Code}"));
                Console.WriteLine($"Total: {groups.Count()}");
            });

            ExecuteWithExceptionHandler("GetAdGroupsWithLogin", () =>
            {
                IEnumerable <AdGroup> groups = adAuthenticator.GetAdGroups("admin");
                groups.ToList().ForEach(group => Console.WriteLine($"Group: {group.Name ?? group.Code}"));
            });

            ExecuteWithExceptionHandler("GetAllUsers", () =>
            {
                IEnumerable <AdUser> users = adAuthenticator.GetAllUsers();
                users.ToList().ForEach(user => Console.WriteLine($"user: {user.Name ?? user.Login}"));
                Console.WriteLine($"Total: {users.Count()}");
            });

            ExecuteWithExceptionHandler("GetUserFromAdBy", () =>
            {
                AdUser user = adAuthenticator.GetUserFromAdBy("admin");
                Console.WriteLine($"Result: {user.Name}");
                user.AdGroups.ToList().ForEach(group => Console.WriteLine($"Group: {group.Name ?? group.Code}"));
            });

            ExecuteWithExceptionHandler("GetUsersByFilter", () =>
            {
                IEnumerable <AdUser> users = adAuthenticator.GetUsersByFilter("hook", 2, out int total);
                Console.WriteLine($"Total: {total}");
                users.ToList().ForEach(user => Console.WriteLine($"user: {user.Name}"));
            });

            ExecuteWithExceptionHandler("GetUsersByNameFilter", () =>
            {
                IEnumerable <AdUser> users = adAuthenticator.GetUsersByNameFilter("hook", 2, out int total);
                Console.WriteLine($"Total: {total}");
                users.ToList().ForEach(user => Console.WriteLine($"user: {user.Name}"));
            });

            ExecuteWithExceptionHandler("SearchBy", () =>
            {
                LdapFilter filter = new LdapFilter
                {
                    SearchPath     = adAuthenticator.GetLdapPath(),
                    SearchCriteria = "(&(objectclass=person)(sAMAccountName=*h*))"
                };

                IEnumerable <LdapEntry> users = adAuthenticator.SearchBy(filter);
                users.ToList().ForEach(user => Console.WriteLine($"user: {user.getAttribute("sAMAccountName")}"));
            });

            Console.ReadLine();
        }