Esempio n. 1
0
        public ILdapService For(ILdapDirectory directory)
        {
            if (directory == null)
                throw new ArgumentNullException("directory");

            var factory = orchardServices.WorkContext.Resolve<Func<ILdapDirectory, ILdapService>>();
            return factory(directory);
        }
Esempio n. 2
0
        public LdapService(ILdapDirectory directory)
        {
            Directory = directory;

            configuration = new LdapConfiguration();
            var server = Directory.Server;
            connectionFactoryConfiguration = configuration.ConfigureFactory(server.Host);

            if (server.UseSsl)
                connectionFactoryConfiguration.UseSsl(server.Port.Value);
            else
                connectionFactoryConfiguration.UsePort(server.Port.Value);

            if (server.UseUdp)
                connectionFactoryConfiguration.UseUdp();
        }
Esempio n. 3
0
        /// <summary>
        /// Gets the LDAP users.
        /// </summary>
        /// <param name="directory">ldap directory path.</param>
        /// <param name="OUName">Name of the organization unit in ldap path.</param>
        /// <returns></returns>
        /// <exception cref="System.Exception">Chyba pri vyhladavani pouzivatelov v ad. Pravdepodobne zla LDAP cesta.</exception>
        public SearchResultCollection GetLDAPUsers(ILdapDirectory directory, string OUName = null)
        {

            DirectoryEntry de = ADHelper.GetDirectoryEntry();
            var deSearch = new DirectorySearcher(OUName);
            deSearch.SearchRoot = de;
            string member = null;
            if (!String.IsNullOrEmpty(directory.UserMemberOf))
            {
                member = string.Format("(memberof={0},{1})", directory.UserMemberOf, directory.BaseDn);
            }
            deSearch.Filter = String.Format("(&(objectCategory={0})(objectClass={1}){2})", directory.UserObjectCategory, directory.UserObjectClass, member);
            SearchResultCollection result = null;
            try
            {
                result = deSearch.FindAll();
            }
            catch (Exception ex)
            {
                throw new Exception("Chyba pri vyhladavani pouzivatelov v ad. Pravdepodobne zla LDAP cesta.", ex);
            }
            return result;
        }
Esempio n. 4
0
 public List<User> GetUsers(ILdapDirectory directory, string OUName = null)
 {
     var result = GetLDAPUsers(directory, OUName);
     var users = result.EntityToModel();
     return users;
 }