Exemplo n.º 1
0
 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();
     }
 }
 void ShowExternalIdentityProvider()
 {
     if (lstExternalIdentityProviders.SelectedItems.Count > 0)
     {
         var idp       = lstExternalIdentityProviders.SelectedItems[0].Tag as ExternalIdentityProviderDto;
         var serverDto = GetServerDto();
         ActionHelper.Execute(delegate
         {
             var tenantName = GetTenantName();
             var service    = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
             var form       = new NewExternalIdp(idp, service, serverDto, tenantName);
             form.ShowDialog();
         }, null);
         RefreshExternalIdentityProviders();
     }
 }
Exemplo n.º 3
0
 private void btnCreate_Click(object sender, EventArgs e)
 {
     if (IsValid())
     {
         var adJoinInfoDto = ViewToDto();
         var auths         = SnapInContext.Instance.AuthTokenManager.GetAuthTokens(_serverDto);
         var auth          = auths[0];
         ActionHelper.Execute(delegate()
         {
             var service    = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
             _adJoinInfoDto = service.Adf.JoinActiveDirectory(_serverDto, adJoinInfoDto, auth.Token);
             MMCDlgHelper.ShowWarning("Join operation completed successfully. Please reboot the node/server for the changes to take effect");
             Close();
         }, auth);
     }
 }
Exemplo n.º 4
0
        void ShowUser()
        {
            var user = lstUsers.SelectedItems[0].Tag as SolutionUserDto;

            ActionHelper.Execute(delegate
            {
                var ssoSolutionUsersNode = _formView.ScopeNode as SolutionUsersNode;
                var service = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
                var userAccountDto = service.SolutionUser.Get(_serverDto, ssoSolutionUsersNode.TenantName, user, _auth.Token);
                if (userAccountDto != null)
                {
                    _formView.ScopeNode.Tag = userAccountDto;
                    _formView.ScopeNode.ShowPropertySheet(user + " properties");
                }
            }, _auth);
        }
Exemplo n.º 5
0
        public void Startup()
        {
            SnapInContext.Instance.AuthTokenManager = new AuthTokenManager();
            var filePath = Path.Combine(SnapInContext.Instance.ApplicationPath, Constants.LocalStorageFileName);

            _store = new LocalFileStorage(filePath);
            SnapInContext.Instance.AuthTokenManager.CacheAuthTokens(_store.Load());

            var httpTransportFilePath = Path.Combine(SnapInContext.Instance.ApplicationPath, Constants.HttpTransportLocalStorageFileName);

            _httpTransportStore = new HttpTransportLocalFileStorage(httpTransportFilePath);

            var httpData = _httpTransportStore.Load();
            var service  = ScopeNodeExtensions.GetServiceGateway();

            service.HttpTransport.SetAll(httpData);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        private void GetSuperLoggingStatus()
        {
            importEventLogs = false;
            var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenant);

            ActionHelper.Execute(delegate
            {
                var service              = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
                var eventLogStatus       = service.SuperLogging.GetStatus(_serverDto, _tenant, auth.Token);
                txtEventsToCapture.Value = (decimal)eventLogStatus.Size;
                _status = eventLogStatus.Enabled;
                if (_status)
                {
                    RefreshView();
                }
            }, auth);
            SetSuperLoggingStatus(_status);
        }
Exemplo n.º 8
0
 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 service  = ScopeNodeExtensions.GetServiceGateway(ServerDto.ServerName);
             var result   = service.IdentityProvider.Probe(ServerDto, TenantName, provider, auth.Token);
             if (result != null)
             {
                 MMCDlgHelper.ShowInformation("Test connection successful");
             }
         }, auth);
     }
 }
Exemplo n.º 9
0
 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;
     }
 }
Exemplo n.º 10
0
        protected override void OnDelete(SyncStatus status)
        {
            if (!ErrorMessageDisplayHelper.Confirm("Delete domain " + _provider.Name + "?"))
            {
                return;
            }
            var serverDto = GetServerDTO();
            var service   = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
            var auth      = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto, _tenantName);

            ActionHelper.Execute(delegate()
            {
                if (service.IdentityProvider.Delete(serverDto, _tenantName, _provider.Name, auth.Token))
                {
                    Parent.Children.Remove(this);
                }
            }, auth);
        }
Exemplo n.º 11
0
 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);
     }
 }
Exemplo n.º 12
0
        private void btnCreateSignerIdentity_Click(object sender, EventArgs e)
        {
            if (ValidateInputs())
            {
                var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenantName);
                ActionHelper.Execute(delegate
                {
                    var relyingPartyDto = new RelyingPartyDto
                    {
                        Name = txtName.Text,
                        Url  = txtUrl.Text,
                        AuthnRequestsSigned       = chkSigned.Checked,
                        Certificate               = _certDto,
                        AttributeConsumerServices = GetAttributeConsumerServices(),
                        AssertionConsumerServices = GetAssertionConsumerServices(),
                        SingleLogoutServices      = GetSloServices(),
                        SignatureAlgorithms       = GetSignatureAlgorithms()
                    };
                    var defaultAssertionConsumerService = relyingPartyDto.AssertionConsumerServices.Where(x => x.IsDefault).FirstOrDefault();

                    if (defaultAssertionConsumerService != null)
                    {
                        relyingPartyDto.DefaultAssertionConsumerService = defaultAssertionConsumerService.Name;
                    }

                    var defaultAttributeConsumerService = relyingPartyDto.AttributeConsumerServices.Where(x => x.IsDefault).FirstOrDefault();
                    if (defaultAttributeConsumerService != null)
                    {
                        relyingPartyDto.DefaultAttributeConsumerService = defaultAttributeConsumerService.Name;
                    }

                    var service = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
                    if (_relyingPartyDtoOrig == null)
                    {
                        _relyingPartyDtoOrig = service.RelyingParty.Create(_serverDto, _tenantName, relyingPartyDto, auth.Token);
                    }
                    else
                    {
                        _relyingPartyDtoOrig = service.RelyingParty.Update(_serverDto, _tenantName, relyingPartyDto, auth.Token);
                    }
                }, auth);
                this.DialogResult = DialogResult.OK;
            }
        }
Exemplo n.º 13
0
        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int selectedIndex = lstGroups.SelectedIndices[0];
            if (selectedIndex == -1) return;
            Cursor.Current = Cursors.WaitCursor;
            var ssoGroupsNode = _formView.ScopeNode as GroupsNode;
            var tenantName = ssoGroupsNode.TenantName;
            var server = ssoGroupsNode.ServerDto;
            var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(server, tenantName);
            ActionHelper.Execute(delegate
            {
                var group = (GroupDto)lstGroups.Items[selectedIndex].Tag;
                var service = ScopeNodeExtensions.GetServiceGateway(server.ServerName);
                service.Group.Delete(server, tenantName, group, auth.Token);
                RefreshGroups(string.Empty);
            }, auth);
            Cursor.Current = Cursors.Default;

        }
Exemplo n.º 14
0
        private void RefreshView()
        {
            var service = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
            var auth    = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenantName);

            ActionHelper.Execute(delegate()
            {
                _tenantConfigurationDto = service.Tenant.GetConfig(_serverDto, _tenantName, auth.Token);
                if (_tenantConfigurationDto == null)
                {
                    MMCDlgHelper.ShowWarning("No configuration retrieved for the tenant");
                    Close();
                }
                else
                {
                    DtoToView();
                }
            }, auth);
        }
Exemplo n.º 15
0
        void AddNewGroup()
        {
            var service      = ScopeNodeExtensions.GetServiceGateway(ServerDto.ServerName);
            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);
                    if (GroupsControl != null)
                    {
                        GroupsControl.RefreshGroups(string.Empty);
                    }
                }
            }, authTokenDto);
        }
Exemplo n.º 16
0
 void AddNewUser()
 {
     ActionHelper.Execute(delegate
     {
         var service     = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
         var server      = _serverDto;
         var userForm    = new NewSolutionUserForm(service, server, _tenantName);
         var context     = this.GetApplicationContext();
         var dataContext = context.NavigationController.NavigateToView(this, userForm);
         if (dataContext != null)
         {
             var userDto = (SolutionUserDto)dataContext;
             if (userDto != null)
             {
                 MMCDlgHelper.ShowMessage(string.Format("Solution User {0} created successfully", userDto.Name));
                 SolutionUsersControl.RefreshUsers(string.Empty);
             }
         }
     }, null);
 }
Exemplo n.º 17
0
        void ShowUser()
        {
            var user       = lstUsers.SelectedItems[0].Tag as UserDto;
            var serverDto  = GetServerDto();
            var domain     = GetDomainName();
            var tenantName = GetTenantName();
            var auth       = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto, tenantName);

            ActionHelper.Execute(delegate
            {
                var service = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
                var dto     = service.User.Get(serverDto, user, tenantName, auth.Token);
                if (dto != null)
                {
                    _formView.ScopeNode.Tag = dto;
                    var title = string.Format("{0}@{1} properties", user.Name, user.Domain);
                    _formView.ScopeNode.ShowPropertySheet(title);
                }
            }, auth);
        }
Exemplo n.º 18
0
 public void RefreshUsers(string searchString, SearchType type = SearchType.NAME)
 {
     lstUsers.Items.Clear();
     var ssoSolutionUsersNode = _formView.ScopeNode as SolutionUsersNode;
     var server = ssoSolutionUsersNode.ServerDto;
     var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(server, ssoSolutionUsersNode.TenantName);
     ActionHelper.Execute(delegate
     {
         var service = ScopeNodeExtensions.GetServiceGateway(server.ServerName);
         var membershipDto = service.Tenant.Search(server, ssoSolutionUsersNode.TenantName, ssoSolutionUsersNode.DomainName, MemberType.SOLUTIONUSER, type, auth.Token, searchString);
         if (membershipDto.SolutionUsers != null)
         {
             foreach (var user in membershipDto.SolutionUsers)
             {
                 var lvItem = new ListViewItem(new[] { user.Name, user.Description, user.Disabled ? "YES" : "NO" }) { Tag = user };
                 lvItem.ImageIndex = (int)TreeImageIndex.SolutionUser;
                 lstUsers.Items.Add(lvItem);
             }
         }
     }, auth);
 }
Exemplo n.º 19
0
        private void RefreshView()
        {
            importEventLogs     = false;
            lblFileName.Visible = false;
            lblFile.Visible     = false;
            lblFileName.Text    = string.Empty;
            var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenant);

            ActionHelper.Execute(delegate
            {
                var service           = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
                _eventLogs            = service.SuperLogging.GetEventLogs(_serverDto, _tenant, auth.Token);
                _eventLogs            = _eventLogs.OrderByDescending(x => x.Start).ToList();
                var filteredEventLogs = _serviceHelper.ApplyFilter(_eventLogs, _filters);
                BindControls(filteredEventLogs);
                if (filteredEventLogs.Count == 0)
                {
                    ClearSelectedDetails();
                }
            }, auth);
        }
Exemplo n.º 20
0
        private void ShowActiveDirectory()
        {
            var auths = SnapInContext.Instance.AuthTokenManager.GetAuthTokens(_serverDto);
            var auth  = auths[0];

            ActionHelper.Execute(delegate()
            {
                var service       = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
                var adJoinInfoDto = service.Adf.GetActiveDirectory(_serverDto, auth.Token);
                if (adJoinInfoDto == null || (adJoinInfoDto != null && adJoinInfoDto.JoinStatus != "DOMAIN"))
                {
                    var form = new JoinActiveDirectoryView(_serverDto);
                    SnapIn.Console.ShowDialog(form);
                }
                else
                {
                    var form = new LeaveActiveDirectoryView(_serverDto, adJoinInfoDto);
                    SnapIn.Console.ShowDialog(form);
                }
            }, auth);
        }
Exemplo n.º 21
0
        private void AddExistingTenant(TenantDto tenantDto)
        {
            var service = ScopeNodeExtensions.GetServiceGateway();
            var auths   = SnapInContext.Instance.AuthTokenManager.GetAuthTokens(_serverDto);
            var auth    = auths[0];

            ActionHelper.Execute(delegate
            {
                var loginDto = new LoginDto {
                    User = auth.Login.User, Pass = auth.Login.Pass, TenantName = tenantDto.Name, DomainName = tenantDto.Name
                };
                var serverDto = new ServerDto {
                    ServerName = auth.ServerDto.ServerName, Tenant = tenantDto.Name, Port = auth.ServerDto.Port, Protocol = auth.ServerDto.Protocol
                };
                var authToken = service.Authentication.Login(serverDto, loginDto, Constants.ClientId);
                AddServiceGatewayForServer(service, authToken);
                SnapInContext.Instance.AuthTokenManager.SetAuthToken(authToken);
                tenantDto = service.Tenant.Get(authToken.ServerDto, tenantDto.Name, authToken.Token);
                AddTenantNode(authToken, tenantDto.Name);
            }, auth, tenantDto.Name);
        }
        void RemoveCertificate()
        {
            if (SelectedNodes.Count == 0)
            {
                return;
            }
            var node      = ScopeNode as TrustedCertificatesNode;
            var serverDto = node.GetServerDto();
            var service   = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
            var tenant    = node.GetTenant().DisplayName;
            var auth      = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto, tenant);

            ActionHelper.Execute(delegate
            {
                var cert = SelectedNodes[0].Tag as X509Certificate2;
                if (cert != null)
                {
                    service.Certificate.Delete(serverDto, tenant, cert.GetFormattedThumbPrint(), auth.Token);
                    Refresh();
                }
            }, auth);
        }
Exemplo n.º 23
0
        private bool CheckSystemTenant()
        {
            var auth  = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenantName);
            var roles = new List <string> {
                "Administrator", "RegularUser"
            };

            if (!roles.Contains(auth.Token.Role))
            {
                return(false);
            }
            bool isSystemTenant = false;
            var  service        = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);

            ActionHelper.Execute(delegate
            {
                var identityProviders = service.IdentityProvider.GetAll(_serverDto, _tenantName, auth.Token);
                var localOsDomains    = identityProviders.Where(x => x.DomainType == DomainType.LOCAL_OS_DOMAIN.ToString());
                isSystemTenant        = localOsDomains != null && localOsDomains.Count() > 0;
            }, auth);
            return(isSystemTenant);
        }
Exemplo n.º 24
0
        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lstRelyingParties.SelectedIndices.Count == 0)
            {
                return;
            }

            var rp      = (RelyingPartyDto)lstRelyingParties.Items[lstRelyingParties.SelectedIndices[0]].Tag;
            var message = "Delete relying Party " + rp.Name + " ? ";

            if (MMCDlgHelper.ShowConfirm(message))
            {
                var serverDto  = GetServerDto();
                var tenantName = GetTenantName();
                var auth       = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto, tenantName);
                ActionHelper.Execute(delegate
                {
                    var service = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
                    service.RelyingParty.Delete(serverDto, tenantName, rp, auth.Token);
                    RefreshRelyingParty();
                }, auth);
            }
        }
Exemplo n.º 25
0
        void AddTenant()
        {
            var auth = (AuthTokenDto)Tag;

            if (auth.Token == null)
            {
                MMCDlgHelper.ShowMessage("Please login with an account with administrator privileges to Add Tenant");
                return;
            }
            ActionHelper.Execute(delegate
            {
                var service = ScopeNodeExtensions.GetServiceGateway(_serverDto.ServerName);
                var frm     = new NewSignerIdentity(service, _serverDto);
                if (this.SnapIn.Console.ShowDialog(frm) == DialogResult.OK)
                {
                    var tenantDto = (TenantDto)frm.DataContext;
                    if (tenantDto != null)
                    {
                        MMCDlgHelper.ShowMessage("Tenant " + tenantDto.Name + " created successfully.");
                    }
                }
            }, null);
        }
Exemplo n.º 26
0
        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lstOidcClients.SelectedIndices.Count == 0)
            {
                return;
            }

            var idp     = (OidcClientDto)lstOidcClients.Items[lstOidcClients.SelectedIndices[0]].Tag;
            var message = "Delete OIDC Client " + idp.ClientId + " ? ";

            if (MMCDlgHelper.ShowConfirm(message))
            {
                var serverDto  = GetServerDto();
                var tenantName = GetTenantName();
                var auth       = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto, tenantName);

                ActionHelper.Execute(delegate
                {
                    var service = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
                    service.OidcClient.Delete(serverDto, tenantName, idp, auth.Token);
                    RefreshOidcClients();
                }, auth);
            }
        }
Exemplo n.º 27
0
 public void RefreshGroups(string searchString)
 {
     lstGroups.Items.Clear();
     var ssoGroupsNode = _formView.ScopeNode as GroupsNode;
     var tenantName = ssoGroupsNode.TenantName;
     var server = ssoGroupsNode.ServerDto;
     var domainName = ssoGroupsNode.DomainName;
     var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(server, tenantName);
     ActionHelper.Execute(delegate
      {
          var service = ScopeNodeExtensions.GetServiceGateway(server.ServerName);
          var membershipDto = service.Tenant.Search(server, tenantName, domainName, MemberType.GROUP, SearchType.NAME, auth.Token, searchString);
          _groups = membershipDto.Groups;
          if (_groups != null)
          {
              foreach (var group in _groups)
              {
                  var lvItem = new ListViewItem(new[] { group.GroupName, group.GroupDetails != null ? group.GroupDetails.Description : string.Empty }) { Tag = group };
                  lvItem.ImageIndex = (int)TreeImageIndex.Group;
                  lstGroups.Items.Add(lvItem);
              }
          }
      }, auth);
 }
Exemplo n.º 28
0
        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lstUsers.SelectedIndices.Count == 0)
            {
                return;
            }

            var    user = (UserDto)lstUsers.Items[lstUsers.SelectedIndices[0]].Tag;
            string deleteUserMessage = string.Format("Are you sure, you want to delete {0} ({1}) ?", "User ", user.Name);

            if (MMCDlgHelper.ShowConfirm(deleteUserMessage))
            {
                var serverDto  = GetServerDto();
                var tenantName = GetTenantName();
                var auth       = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto, tenantName);

                ActionHelper.Execute(delegate
                {
                    var service = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
                    service.User.Delete(serverDto, tenantName, user, auth.Token);
                    RefreshUsers(string.Empty);
                }, auth);
            }
        }
Exemplo n.º 29
0
        protected override void OnAction(Action action, AsyncStatus status)
        {
            base.OnAction(action, status);
            var serverDto = GetServerDto();
            var service   = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
            var auth      = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto, _tenantName);

            ActionHelper.Execute(delegate()
            {
                var isDefault = false;
                switch ((IdentityProviderNodeAction)(int)action.Tag)
                {
                case IdentityProviderNodeAction.ActionSetDefault:
                    _tenantConfigDto.ProviderPolicy = new ProviderPolicyDto {
                        DefaultProvider = _provider.Name, DefaultProviderAlias = _provider.Name
                    };
                    _tenantConfigDto = service.Tenant.UpdateConfig(serverDto, _tenantName, _tenantConfigDto, auth.Token, TenantConfigType.PROVIDER);
                    isDefault        = true;
                    break;
                }
                DisplayName = isDefault ? DisplayName + " (Default)" : DisplayName.Replace(" (Default)", string.Empty);
                ((IdentityProvidersNode)(this.Parent)).DoRefresh();
            }, auth);
        }
        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lstExternalIdentityProviders.SelectedIndices.Count == 0)
            {
                return;
            }

            var idp     = (ExternalIdentityProviderDto)lstExternalIdentityProviders.Items[lstExternalIdentityProviders.SelectedIndices[0]].Tag;
            var message = "Delete external identity provider " + idp.EntityID + " ? ";

            if (MMCDlgHelper.ShowConfirm(message))
            {
                var serverDto  = GetServerDto();
                var tenantName = GetTenantName();
                var auth       = SnapInContext.Instance.AuthTokenManager.GetAuthToken(serverDto, tenantName);
                ActionHelper.Execute(delegate
                {
                    var service = ScopeNodeExtensions.GetServiceGateway(serverDto.ServerName);
                    IExternalIdentityProviderService externalIdp = service.ExternalIdentityProvider;
                    externalIdp.Delete(serverDto, tenantName, idp, auth.Token);
                    RefreshExternalIdentityProviders();
                }, auth);
            }
        }