private void CleanUp(DnsChallenge dnsChallenge, DomainDetails domainDetails, string records)
        {
            string recordId = GetRecordId(dnsChallenge, domainDetails, records);

            if (!string.IsNullOrEmpty(recordId))
            {
                var wr = CreateRequest(records + "/" + recordId);
                wr.Method = "DELETE";

                using (var response = wr.GetResponse())
                { }
            }
        }
Exemplo n.º 2
0
        public Task <DomainDetails> CreateAsync(DomainDetails domain)
        {
            Ensure.NotNull(domain, nameof(domain));

            if (domain.Name == null)
            {
                throw new ArgumentNullException(nameof(domain.Name));
            }


            return(api.PostAsync <DomainDetails>(
                       path: $"/domains",
                       data: domain
                       ));
        }
Exemplo n.º 3
0
        internal static NetworkCredential GetActiveDirectoryCredentials()
        {
            var moduleSettings = _configurationService.GetModuleSettings(DomainDetails.MOUDLE_NAME);

            if (moduleSettings == null || moduleSettings.Count == 0)
            {
                return(null);
            }
            var domainDetails = new DomainDetails(moduleSettings);

            if (!domainDetails.IsValid())
            {
                return(null);
            }
            return(new NetworkCredential(domainDetails.DomainName + "\\" + domainDetails.Username, domainDetails.Password));
        }
Exemplo n.º 4
0
        static SiemplifyAuthorizeAttribute()
        {
            var moduleSettings = _configurationService.GetModuleSettings(DomainDetails.MOUDLE_NAME);

            _domainDetails = new DomainDetails(moduleSettings);
            var adCredentials = GetActiveDirectoryCredentials();

            try
            {
                if (_domainDetails.AdminDomainGroup.IsNotEmpty() &&
                    !UserAndDomainHelper.GroupExistsInDomain(_domainDetails.AdminDomainGroup, adCredentials))
                {
                    Logger.Instance.Warn(
                        string.Format("Configuration error: Admin group \"{0}\" not found in domain. Users might have a problem logging with Windows authentication",
                                      _domainDetails.AdminDomainGroup), LoggerConsts.AccountGeneral);
                }
            }
            catch (Exception ex)
            {
                Logger.Instance.Warn(
                    string.Format("Configuration error: Admin group \"{0}\" not found in domain. Users might have a problem logging with Windows authentication. Error: {1}",
                                  _domainDetails.AdminDomainGroup, ex.Message), LoggerConsts.AccountGeneral);
            }

            try
            {
                if (_domainDetails.AnalystDomainGroup.IsNotEmpty() &&
                    !UserAndDomainHelper.GroupExistsInDomain(_domainDetails.AnalystDomainGroup, adCredentials))
                {
                    Logger.Instance.Warn(
                        string.Format("Configuration error: Analyst group \"{0}\" not found in domain. Users might have a problem logging with Windows authentication",
                                      _domainDetails.AnalystDomainGroup), LoggerConsts.AccountGeneral);
                }
            }
            catch (Exception ex)
            {
                Logger.Instance.Warn(
                    string.Format("Configuration error: Analyst group \"{0}\" not found in domain. Users might have a problem logging with Windows authentication. Error: {1}",
                                  _domainDetails.AnalystDomainGroup, ex.Message), LoggerConsts.AccountGeneral);
            }
        }
        private string GetRecordId(DnsChallenge dnsChallenge, DomainDetails domainDetails, string records)
        {
            var wr = CreateRequest(records);

            wr.Method = "GET";

            var recordNameToFind = dnsChallenge.RecordName.Replace("." + domainDetails.DomainName, string.Empty);

            using (var response = wr.GetResponse())
                using (var content = new StreamReader(response.GetResponseStream()))
                {
                    var resp       = content.ReadToEnd();
                    var respObject = JsonConvert.DeserializeObject <DomainResponseCollection>(resp).data;

                    var record = respObject.FirstOrDefault(a => a.name == recordNameToFind);
                    if (record != null)
                    {
                        return(record.id);
                    }
                }

            return(null);
        }