public IHttpActionResult AccessControlList(AccessControlListModel model) { if (model.Access != AccessModel.Subscribe) { _logger.Info($"Client[{model.ClientId}] {model.Access} Topic[{model.Topic}] failed, \"Subscribe only\".{{ Username: {model.Username}, Ip: {model.Ipaddr}}}"); return(BadResult()); } if (!Guid.TryParse(model.ClientId, out var clientId)) { _logger.Info($"Client[{model.ClientId}] {model.Access} Topic[{model.Topic}] failed, \"ClientId error\".{{ Username: {model.Username}, Ip: {model.Ipaddr}}}"); return(BadResult()); } var topic = model.Topic; var arr = topic.Split('/'); if (arr.Length != 3) { _logger.Info($"Client[{model.ClientId}] {model.Access} Topic[{model.Topic}] failed, \"Topic error\".{{ Username: {model.Username}, Ip: {model.Ipaddr}}}"); return(BadResult()); } var result = false; try { var component = new PushMessageComponent(); result = component.AccessControlList(clientId, arr[0], arr[2]); } catch { } _logger.Info($"Client[{model.ClientId}] {model.Access} Topic[{model.Topic}] {(result ? "successed" : "failed")}.{{ Username: {model.Username}, Ip: {model.Ipaddr}}}"); return(result ? OkResult() : BadResult()); }
/// <summary> /// Viewの生成と、シングルトンなModelインスタンスの取得 /// </summary> public ACLExtensionController() { oPage = new TabPage("ACL Filter"); aclView = new AccessControlListView(); aclView.Dock = DockStyle.Fill; oPage.Controls.Add(aclView); FiddlerApplication.UI.tabsViews.TabPages.Add(oPage); aclModel = AccessControlListModel.GetInstance(); configModel = ConfigModel.GetInstance(); }
public AccessControlListView() { InitializeComponent(); aclModel = AccessControlListModel.GetInstance(); configModel = ConfigModel.GetInstance(); }