private void btnCreate_Click(object sender, EventArgs e) { ActionHelper.Execute(delegate() { if (string.IsNullOrWhiteSpace(txtCertDN.Text) && string.IsNullOrWhiteSpace(txtCertFile.Text)) { throw new Exception("Please select a certificate file or enter Certificate DN"); } if (!string.IsNullOrWhiteSpace(txtCertDN.Text)) { PopulateCertDN(); } DialogResult = DialogResult.OK; Close(); }, null); }
public bool Apply(object obj) { var dto = obj as IdentityProviderDto; var result = false; var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_server, _tenantName); ActionHelper.Execute(delegate() { if (dto.IsSameAs(_provider)) { _service.IdentityProvider.Update(_server, _tenantName, dto, auth.Token); } result = true; }, auth); return(result); }
public void AddNewGroup(object sender, EventArgs e) { ActionHelper.Execute(delegate() { var form = new AddGroupController(); var result = NSApplication.SharedApplication.RunModalForWindow(form.Window); if (result == VMIdentityConstants.DIALOGOK) { var user = AddNewGroup(form.GroupDto); if (user != null) { UIErrorHelper.ShowAlert("Group " + user.GroupName + " created successfully", "Information"); Refresh(sender, e); } } }); }
public void DeleteGroup(GroupDto groupDto) { ActionHelper.Execute(delegate() { var serverDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto.ServerName); var success = SnapInContext.Instance.ServiceGateway.Group.Delete(_serverDto, _tenantName, groupDto, serverDto.Token); if (success) { UIErrorHelper.ShowAlert("Group " + groupDto.GroupName + " deleted successfully", "Information"); } else { UIErrorHelper.ShowAlert("Failed to delete Group " + groupDto.GroupName, "Information"); } Refresh(this, EventArgs.Empty); }); }
private void btnAddAssertionConsumerService_Click(object sender, EventArgs e) { ActionHelper.Execute(delegate { var form = new AddNewAssertionConsumerService(); if (form.ShowDialog() == DialogResult.OK) { var service = (AssertionConsumerServiceDto)form.DataContext; var lstItem = new ListViewItem(new[] { service.Name, service.Index.ToString(), service.IsDefault ? "YES" : "NO", service.Endpoint, service.Binding }) { Tag = service }; lstAssertionConsumerServices.Items.Add(lstItem); } }, null); }
private void btnAddSloService_Click(object sender, EventArgs e) { ActionHelper.Execute(delegate { var form = new AddNewServiceEndpoints(); if (form.ShowDialog() == DialogResult.OK) { var service = (ServiceEndpointDto)form.DataContext; var lstItem = new ListViewItem(new[] { service.Name, service.Endpoint, service.Binding }) { Tag = service }; lstSloServices.Items.Add(lstItem); } }, null); }
private void btnAddSignatureAlgorithm_Click(object sender, EventArgs e) { ActionHelper.Execute(delegate { var form = new AddNewSignatureAlgorithm(); if (form.ShowDialog() == DialogResult.OK) { var service = (SignatureAlgorithmDto)form.DataContext; var lstItem = new ListViewItem(new[] { service.MaxKeySize.ToString(), service.MinKeySize.ToString(), service.Priority.ToString() }) { Tag = service }; lstSignatureAlgorithms.Items.Add(lstItem); } }, null); }
private void btnAddSubjectFormat_Click(object sender, EventArgs e) { ActionHelper.Execute(delegate { var form = new AddSubjectFormat(); if (form.ShowDialog() == DialogResult.OK) { var item = (SubjectFormatDto)form.DataContext; var listViewItem = new ListViewItem(new[] { item.Key, item.Value }) { Tag = item }; lstSubjectFormat.Items.Add(listViewItem); } }, null); }
void ShowOidcClient() { if (lstOidcClients.SelectedItems.Count > 0) { var idp = lstOidcClients.SelectedItems[0].Tag as OidcClientDto; var serverDto = GetServerDto(); ActionHelper.Execute(delegate { var tenantName = GetTenantName(); var service = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName); var form = new NewOidcClient(idp, service, serverDto, tenantName); form.ShowDialog(); }, null); RefreshOidcClients(); } }
public override void AwakeFromNib() { base.AwakeFromNib(); SolutionUserDto = SolutionUserDtoOriginal.DeepCopy(); TxtName.StringValue = SolutionUserDto.Name; TxtDescription.StringValue = string.IsNullOrEmpty(SolutionUserDto.Description)?string.Empty:SolutionUserDto.Description; cbDisabled.StringValue = SolutionUserDto.Disabled ? "0" : "1"; _certificate = new X509Certificate2(Encoding.ASCII.GetBytes(SolutionUserDto.Certificate.Encoded)); ActionHelper.Execute(delegate() { TxtIssuer.StringValue = _certificate.Issuer; TxtValidFrom.StringValue = _certificate.NotBefore.ToShortDateString(); TxtValidTo.StringValue = _certificate.NotAfter.ToShortDateString(); TxtDn.StringValue = _certificate.IssuerName.Format(true); }); //Events this.BtnSave.Activated += OnClickSaveButton; this.BtnChangeCertificate.Activated += (object sender, EventArgs e) => { var openPanel = new NSOpenPanel(); openPanel.ReleasedWhenClosed = true; openPanel.Prompt = "Select file"; var result = openPanel.RunModal(); if (result == 1) { var filePath = openPanel.Url.AbsoluteString.Replace("file://", string.Empty); var cert1 = new X509Certificate2(); ActionHelper.Execute(delegate() { cert1.Import(filePath); TxtIssuer.StringValue = cert1.Issuer; TxtValidFrom.StringValue = cert1.NotBefore.ToShortDateString(); TxtValidTo.StringValue = cert1.NotAfter.ToShortDateString(); TxtDn.StringValue = cert1.IssuerName.Format(true); _certificate = cert1; }); SolutionUserDto.Certificate.Encoded = _certificate.ToPem(); } }; BtnViewCertificate.Activated += (object sender, EventArgs e) => { CertificateService.DisplayX509Certificate2(this, _certificate); }; BtnSave.Hidden = !IsSystemDomain; }
protected override void OnAddPropertyPages(PropertyPageCollection propertyPageCollection) { base.OnAddPropertyPages(propertyPageCollection); var authTokenDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto, TenantName); ActionHelper.Execute(delegate { var service = ScopeNodeExtensions.GetServiceGateway(ServerDto.ServerName); var groupDto = Tag as GroupDto; var presenter = new GroupPropertyDataManager(groupDto, service, ServerDto, TenantName, _domainName); var generalPage = new GroupGeneralProperty(presenter, groupDto, IsSystemDomain) { Title = "General" }; propertyPageCollection.Add(generalPage.Page); }, authTokenDto); }
void AddNewGroup() { var service = this.GetServiceGateway(); var authTokenDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto, _tenantName); ActionHelper.Execute(delegate { var groupForm = new NewGroupForm(); if (this.SnapIn.Console.ShowDialog(groupForm) == DialogResult.OK) { var group = (GroupDto)groupForm.DataContext; group.GroupDomain = _domainName; var success = service.Group.Create(ServerDto, TenantName, @group, authTokenDto.Token); GroupsControl.RefreshGroups(string.Empty); } }, authTokenDto); }
public NSObject ObjectValueForTableColumn(NSTableView table, NSTableColumn col, int row) { var value = (NSString)string.Empty; ActionHelper.Execute(delegate() { if (Entries != null) { var obj = (this.Entries [row]) as EventLogDto; switch (col.Identifier) { case StatusColumnId: value = (NSString)obj.Level.ToString(); break; case EventTypeColumnId: value = (NSString)obj.Type; break; case CorrelationIdColumnId: value = (NSString)obj.CorrelationId; break; case AccountColumnId: value = (NSString)obj.AccountName; break; case ProviderColumnId: value = (NSString)obj.ProviderName; break; case StartColumnId: value = (NSString)DateTimeHelper.UnixToWindowsMilliSecs(obj.Start).ToString("dd-MMM-yy hh:mm:ss"); break; case DurationColumnId: value = (NSString)obj.ElapsedMillis.ToString(); break; default: break; } } }); return(value); }
private void btnCreate_Click(object sender, EventArgs e) { if (IsValid()) { var dto = ViewToDto(); var auths = SnapInContext.Instance.AuthTokenManager.GetAuthTokens(_serverDto); var auth = auths[0]; ActionHelper.Execute(delegate() { if (SnapInContext.Instance.ServiceGateway.Adf.LeaveActiveDirectory(_serverDto, dto, auth.Token)) { MMCDlgHelper.ShowWarning("Leave operation completed successfully. Please reboot the node/server for the changes to take effect"); Close(); } }, auth); } }
public void OnAddExistingTenant(object sender, EventArgs e) { ActionHelper.Execute(delegate() { var form = new AddExistingTenantController(); var result = NSApplication.SharedApplication.RunModalForWindow(form.Window); if (result == VMIdentityConstants.DIALOGOK) { var service = SnapInContext.Instance.ServiceGateway; var tenantDto = form.TenantDto; var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(DisplayName); tenantDto = service.Tenant.Get(auth.ServerDto, tenantDto.Name, auth.Token); AddTenantNode(auth, new TenantDto { Name = tenantDto.Name }); } }); }
private void button5_Click(object sender, EventArgs e) { if (ValidateStep4()) { var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto, TenantName); // Call probe ActionHelper.Execute(delegate() { var provider = ViewToDto(); var result = SnapInContext.Instance.ServiceGateway.IdentityProvider.Probe(ServerDto, TenantName, provider, auth.Token); if (result != null) { MMCDlgHelper.ShowInformation("Test connection successful"); } }, auth); } }
public void DeleteUser(SolutionUserDto userDto) { ActionHelper.Execute(delegate() { userDto.Domain = _domainName; var serverDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto.ServerName); var success = SnapInContext.Instance.ServiceGateway.SolutionUser.Delete(_serverDto, _tenantName, userDto, serverDto.Token); if (success) { UIErrorHelper.ShowAlert("Solution User " + userDto.Name + " deleted successfully", "Information"); } else { UIErrorHelper.ShowAlert("Failed to delete Solution User " + userDto.Name, "Information"); } Refresh(this, EventArgs.Empty); }); }
private void GetSuperLoggingStatus() { importEventLogs = false; var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenant); ActionHelper.Execute(delegate { var eventLogStatus = SnapInContext.Instance.ServiceGateway.SuperLogging.GetStatus(_serverDto, _tenant, auth.Token); txtEventsToCapture.Value = (decimal)eventLogStatus.Size; _status = eventLogStatus.Enabled; if (_status) { RefreshView(); } }, auth); SetSuperLoggingStatus(_status); }
public object GetData() { var originalUser = _user; var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenantName); ActionHelper.Execute(delegate() { var _orignialUserMembership = _service.User.GetUserGroups(_serverDto, _tenantName, _user, auth.Token); originalUser.Role = _orignialUserMembership.Exists(x => x.GroupName == "Administrators") ? UserRole.Administrator : _orignialUserMembership.Exists(x => x.GroupName == "Users") ? UserRole.RegularUser : UserRole.GuestUser; originalUser.IsIdpAdmin = _orignialUserMembership.Exists(x => x.GroupName == "IdpProvisioningAdmin"); originalUser.ActAsUsers = _orignialUserMembership.Exists(x => x.GroupName == "ActAsUsers"); }, auth); _user = originalUser.DeepCopy(); return(originalUser); }
public void OnClickSaveButton(object sender, EventArgs e) { SolutionUserDto.Description = TxtDescription.StringValue; SolutionUserDto.Disabled = cbDisabled.StringValue == "1"; ActionHelper.Execute(delegate() { if (SolutionUserDtoOriginal.Description != SolutionUserDto.Description || SolutionUserDtoOriginal.Disabled != SolutionUserDto.Disabled || SolutionUserDtoOriginal.Certificate.Encoded != SolutionUserDto.Certificate.Encoded) { var service = SnapInContext.Instance.ServiceGateway; var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName); service.SolutionUser.Update(ServerDto, TenantName, SolutionUserDto, auth.Token); NSNotificationCenter.DefaultCenter.PostNotificationName("RefreshTableView", this); } }); }
public void OnClickSaveButton(object sender, EventArgs e) { ActionHelper.Execute(delegate() { if (string.IsNullOrEmpty(TxtUrl.StringValue)) { UIErrorHelper.ShowAlert("Please enter valid Url", "Alert"); } else if (string.IsNullOrEmpty(TxtCertificate.StringValue)) { UIErrorHelper.ShowAlert("Please enter valid Certificate path", "Alert"); } else if (!string.IsNullOrEmpty(TxtCertificate.StringValue) && TxtCertificate.StringValue != "Certificate" && !System.IO.File.Exists(TxtCertificate.StringValue.Replace("file://", string.Empty))) { UIErrorHelper.ShowAlert("Certificate path is not valid", "Alert"); } else { var encoded = string.Empty; var cert = new X509Certificate2(); ActionHelper.Execute(delegate() { if (TxtCertificate.StringValue == "Certificate") { encoded = _certificate.ExportToPem(); } else { cert.Import(TxtCertificate.StringValue.Replace("file://", string.Empty)); encoded = cert.ExportToPem(); } RelyingPartyDto.Name = RelyingPartyDtoOriginal.Name; RelyingPartyDto.Certificate = new CertificateDto { Encoded = encoded }; RelyingPartyDto.Url = TxtUrl.StringValue; var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName); RelyingPartyDto = SnapInContext.Instance.ServiceGateway.RelyingParty.Update(ServerDto, TenantName, RelyingPartyDto, auth.Token); NSNotificationCenter.DefaultCenter.PostNotificationName("RefreshTableView", this); }); } }); }
public override void WillDisplayCell(NSTableView tableView, NSObject cell, NSTableColumn tableColumn, nint row) { ActionHelper.Execute(delegate() { NSTextFieldCell textCell = cell as NSTextFieldCell; if (textCell != null) { var collection = ((HttpTransportDataSource)(_controller.HttpTransportTableView.DataSource)).HttpTransportCollection; if (collection != null) { var item = collection [(int)row]; if (tableColumn.Identifier == "Method") { if (item.Method == "GET") { textCell.TextColor = NSColor.Magenta; } else if (item.Method == "POST") { textCell.TextColor = NSColor.Brown; } else if (item.Method == "PUT") { textCell.TextColor = NSColor.Blue; } else if (item.Method == "DELETE") { textCell.TextColor = NSColor.Orange; } } else { if (tableColumn.Identifier == "Name" && !string.IsNullOrEmpty(item.Error)) { textCell.TextColor = NSColor.Red; } else { textCell.TextColor = NSColor.Black; } } } } }); }
protected override void OnDelete(SyncStatus status) { var deleted = false; ActionHelper.Execute(delegate { if (ErrorMessageDisplayHelper.Confirm("Remove Server " + _serverDto.ServerName + "?")) { (Parent as SnapInNode).RemoveChild(_serverDto.ServerName); SnapInContext.Instance.AuthTokenManager.RemoveAuthTokens(_serverDto.ServerName); deleted = true; } }, null); if (deleted) { base.OnDelete(status); } }
protected override void OnDelete(SyncStatus status) { if (!ErrorMessageDisplayHelper.Confirm("Delete domain " + _provider.Name + "?")) { return; } ActionHelper.Execute(delegate() { var serverDto = GetServerDTO(); var service = this.GetServiceGateway(); var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto.ServerName); if (this.GetServiceGateway().IdentityProvider.Delete(serverDto, _tenantName, _provider.Name, auth.Token)) { Parent.Children.Remove(this); } }); }
public void DeleteRelyingParty(RelyingPartyDto dto) { ActionHelper.Execute(delegate() { var serverDto = GetServerDto(); var tenant = GetTenant(); var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto.ServerName); var success = SnapInContext.Instance.ServiceGateway.RelyingParty.Delete(serverDto, tenant, dto, auth.Token); if (success) { UIErrorHelper.ShowAlert("Relying party " + dto.Name + " deleted successfully", "Information"); } else { UIErrorHelper.ShowAlert("Failed to delete relying party " + dto.Name, "Information"); } Refresh(this, EventArgs.Empty); }); }
public void DeleteUser(UserDto userDto) { ActionHelper.Execute(delegate() { userDto.PersonDetails.UserPrincipalName = string.Format("{0}@{1}", userDto.Name, _systemDomain); var serverDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto.ServerName); var result = SnapInContext.Instance.ServiceGateway.User.Delete(_serverDto, _tenantName, userDto, serverDto.Token); var success = string.IsNullOrEmpty(result); if (success) { UIErrorHelper.ShowAlert("User " + userDto.Name + " deleted successfully", "Information"); } else { UIErrorHelper.ShowAlert("Failed to delete User " + userDto.Name, "Information"); } Refresh(this, EventArgs.Empty); }); }
public GroupMembershipDto GetMembershipInfo() { GroupMembershipDto memberInfo = new GroupMembershipDto(); var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_server, _tenantName); ActionHelper.Execute(delegate() { var userInfo = _service.Group.GetMembers(_server, _tenantName, _groupDto, GroupMemberType.USER, auth.Token); memberInfo.Users = userInfo.Users == null ? new List <UserDto>() : new List <UserDto>(userInfo.Users); userInfo = _service.Group.GetMembers(_server, _tenantName, _groupDto, GroupMemberType.GROUP, auth.Token); memberInfo.Groups = userInfo.Groups == null ? new List <GroupDto>() : new List <GroupDto>(userInfo.Groups); }, auth); if (memberInfo == null) { memberInfo = new GroupMembershipDto(); } return(memberInfo); }
public void DeleteExternalIdentityProvider(ExternalIdentityProviderDto dto) { ActionHelper.Execute(delegate() { var serverDto = GetServerDto(); var tenant = GetTenant(); var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto.ServerName); var success = SnapInContext.Instance.ServiceGateway.ExternalIdentityProvider.Delete(serverDto, tenant, dto, auth.Token); if (success) { UIErrorHelper.ShowAlert("External Identity Provider " + dto.EntityID + " deleted successfully", "Information"); } else { UIErrorHelper.ShowAlert("Failed to delete External Identity Provider " + dto.EntityID, "Information"); } Refresh(this, EventArgs.Empty); }); }
private void deleteToolStripMenuItem_Click(object sender, EventArgs e) { if (lstUsers.SelectedIndices.Count == 0) return; var user = lstUsers.SelectedItems[0].Tag as SolutionUserDto; string deleteUserMessage = "Delete user " + user.Name + " ? "; if (MMCDlgHelper.ShowConfirm(deleteUserMessage)) { ActionHelper.Execute(delegate { Cursor.Current = Cursors.WaitCursor; var service = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName); service.SolutionUser.Delete(_serverDto, GetTenantName(), user, _auth.Token); RefreshUsers(string.Empty); }, _auth); Cursor.Current = Cursors.Default; } }
private void btnCreate_Click(object sender, EventArgs e) { shouldClose = false; if (ValidateControls()) { ViewToDataContext(); var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenantName); ActionHelper.Execute(delegate { try { var service = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName); _userDto = service.User.Create(_serverDto, _tenantName, _userDto, auth.Token); shouldClose = true; this.DialogResult = DialogResult.OK; Close(); } catch (WebException exp) { if (exp.Response is HttpWebResponse) { var response = exp.Response as HttpWebResponse; if (response != null && response.StatusCode == HttpStatusCode.BadRequest && response.ContentType == "application/json") { var resp = new StreamReader(response.GetResponseStream()).ReadToEnd(); var error = JsonConvert.Deserialize <AuthErrorDto>(resp); if (error.Cause == "Constraint violation") { MMCDlgHelper.ShowError("Password does not match the password policy set on the tenant. Check tenant configuration for password policy or contact administrator"); } else { MMCDlgHelper.ShowError(error.Details + " Cause - " + error.Cause); } } else { throw exp; } } } }, auth); } }