/// <summary> /// Update method implmentation /// </summary> public override void Load(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; MailProvider mail = cfg.MailProvider; IsDirty = cfg.IsDirty; Enabled = mail.Enabled; EnrollWizard = mail.EnrollWizard; ForceWizard = mail.ForceWizard; From = mail.From; UserName = mail.UserName; Password = mail.Password; Host = mail.Host; Port = mail.Port; UseSSL = mail.UseSSL; Company = mail.Company; PinRequired = mail.PinRequired; Anonymous = mail.Anonymous; DeliveryNotifications = mail.DeliveryNotifications; FullQualifiedImplementation = mail.FullQualifiedImplementation; Parameters = mail.Parameters.Data; AllowedDomains.Clear(); foreach (string itm in mail.AllowedDomains) { AllowedDomains.AddDomain(itm); } BlockedDomains.Clear(); foreach (string itm in mail.BlockedDomains) { BlockedDomains.AddDomain(itm); } MailOTPContent.Clear(); foreach (SendMailFileName itm in mail.MailOTPContent) { MailOTPContent.Add((FlatConfigMailFileName)itm); } MailAdminContent.Clear(); foreach (SendMailFileName itm in mail.MailAdminContent) { MailAdminContent.Add((FlatConfigMailFileName)itm); } MailKeyContent.Clear(); foreach (SendMailFileName itm in mail.MailKeyContent) { MailKeyContent.Add((FlatConfigMailFileName)itm); } MailNotifications.Clear(); foreach (SendMailFileName itm in mail.MailNotifications) { MailNotifications.Add((FlatConfigMailFileName)itm); } }
/// <summary> /// 判断请求来源是否被允许 /// </summary> public bool IsRefererAllowed(string referer, string currentHost) { if (string.IsNullOrEmpty(referer)) { return(true); } var refererUri = new Uri(referer); var self = AllowedDomains.FirstOrDefault(n => n == "."); if (self != null) { AllowedDomains.RemoveAll(n => n == "."); AllowedDomains.Insert(0, currentHost); } return(AllowedDomains.Exists(n => n == refererUri.Host)); }
public IActionResult Post([FromBody] AllowedDomains AllowedDomains) { try { if (!ModelState.IsValid) { return(BadRequest()); } return(Ok(_unitOfWork.AllowedDomains.Insert(AllowedDomains))); } catch (System.Data.SqlClient.SqlException sqlex) { if (sqlex.Number.Equals(2601)) { return(StatusCode(500, "No se puede ingresar el mismo dominio mas de una vez")); } return(StatusCode(500, "Internal server error: " + sqlex.Message)); } catch (Exception ex) { return(StatusCode(500, "Internal server error: " + ex.Message)); } }