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); }); }
public bool Delete(ServerDto serverDto, string tenant, GroupDto groupDto, Token token) { var principalName = Uri.EscapeDataString(groupDto.GroupName + "@" + groupDto.GroupDomain); tenant = Uri.EscapeDataString(tenant); var url = string.Format(ServiceConfigManager.GroupEndPoint, serverDto.Protocol, serverDto.ServerName, serverDto.Port, tenant, principalName); ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; var requestConfig = new RequestSettings { Method = HttpMethod.Delete, }; var headers = ServiceHelper.AddHeaders(ServiceConfigManager.JsonContentType); var json = "access_token=" + token.AccessToken + "&token_type=" + token.TokenType.ToString().ToLower(); var response = _webRequestManager.GetResponse(url, requestConfig, headers, null, json); return string.IsNullOrEmpty(response); }
public void OnClickAddButton (object sender, EventArgs e) { if (string.IsNullOrEmpty (TxtGroupName.StringValue)) { UIErrorHelper.ShowAlert ("Please enter valid group name", "Alert"); } else if (string.IsNullOrEmpty (TxtDescription.StringValue)) { UIErrorHelper.ShowAlert ("Please enter valid Description", "Alert"); } else { GroupDto = new GroupDto () { GroupName = TxtGroupName.StringValue, GroupDetails = new GroupDetailsDto { Description = TxtDescription.StringValue } }; this.Close (); NSApplication.SharedApplication.StopModalWithCode (1); } }
public GroupDto Update(ServerDto serverDto, string tenant, GroupDto groupDto, Token token) { var principalName = Uri.EscapeDataString(groupDto.GroupName + "@" + groupDto.GroupDomain); tenant = Uri.EscapeDataString(tenant); var url = string.Format(ServiceConfigManager.GroupEndPoint, serverDto.Protocol, serverDto.ServerName, serverDto.Port, tenant, principalName); var g = new GroupDto() { GroupDetails = new GroupDetailsDto { Description = groupDto.GroupDetails.Description } }; var json = JsonConvert.Serialize(g); ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; var requestConfig = new RequestSettings { Method = HttpMethod.Put, }; var headers = ServiceHelper.AddHeaders(ServiceConfigManager.JsonContentType); json = "access_token=" + token.AccessToken + "&token_type=" + token.TokenType.ToString().ToLower() + "&" + json; var response = _webRequestManager.GetResponse(url, requestConfig, headers, null, json); return JsonConvert.Deserialize<GroupDto>(response); }
private void UpdateUserRole() { ActionHelper.Execute (delegate() { var result = true; var dto = UserDto; var users = new List<UserDto> { dto }; var name = string.Empty; GroupDto group; var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName); if (result && dto.Role != UserDtoOriginal.Role) { // Remove group membership if (UserDtoOriginal.Role != UserRole.GuestUser) { name = (UserDtoOriginal.Role == UserRole.Administrator ? "Administrators" : "Users"); group = new GroupDto { GroupName = name, GroupDomain = UserDtoOriginal.Domain }; result = SnapInContext.Instance.ServiceGateway.Group.RemoveUsers(ServerDto, TenantName, group, users, auth.Token); } if (result && dto.Role != UserRole.GuestUser) { // Add group membership name = (dto.Role == UserRole.Administrator ? "Administrators" : "Users"); group = new GroupDto { GroupName = name, GroupDomain = dto.Domain }; result = SnapInContext.Instance.ServiceGateway.Group.AddUsers(ServerDto, TenantName, group, users, auth.Token); } } if (result && dto.ActAsUsers != UserDtoOriginal.ActAsUsers) { name = "ActAsUsers"; group = new GroupDto { GroupName = name, GroupDomain = dto.Domain }; result = (dto.ActAsUsers) ? SnapInContext.Instance.ServiceGateway.Group.AddUsers(ServerDto, TenantName, group, users, auth.Token) : SnapInContext.Instance.ServiceGateway.Group.RemoveUsers(ServerDto, TenantName, group, users, auth.Token); } if (result && dto.IsIdpAdmin != UserDtoOriginal.IsIdpAdmin) { name = "IdpProvisioningAdmin"; group = new GroupDto { GroupName = name, GroupDomain = dto.Domain }; result = (dto.IsIdpAdmin) ? SnapInContext.Instance.ServiceGateway.Group.AddUsers(ServerDto, TenantName, group, users, auth.Token) : SnapInContext.Instance.ServiceGateway.Group.RemoveUsers(ServerDto, TenantName, group, users, auth.Token); } }); }
public bool AddUsers(ServerDto serverDto, string tenant, GroupDto groupDto, IList<UserDto> users, Token token) { var principalName = Uri.EscapeDataString(groupDto.GroupName + "@" + groupDto.GroupDomain); tenant = Uri.EscapeDataString(tenant); var queryString = users.Select(x => "members=" + Uri.EscapeDataString(x.Name + "@" + x.Domain)).Aggregate((x, y) => string.Format("{0}&{1}", x, y)); var url = string.Format(ServiceConfigManager.MembersOfGroupEndPoint, serverDto.Protocol, serverDto.ServerName, serverDto.Port, tenant, principalName, queryString, GroupMemberType.USER); ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; var requestConfig = new RequestSettings { Method = HttpMethod.Put, }; var headers = ServiceHelper.AddHeaders(ServiceConfigManager.JsonContentType); var json = "access_token=" + token.AccessToken + "&token_type=" + token.TokenType.ToString().ToLower(); var response = _webRequestManager.GetResponse(url, requestConfig, headers, null, json); return response != null; }
public GroupMembershipDto GetMembers(ServerDto serverDto, string tenant, GroupDto groupDto, GroupMemberType type, Token token) { var principalName = Uri.EscapeDataString(groupDto.GroupName + "@" + groupDto.GroupDomain); tenant = Uri.EscapeDataString(tenant); var url = string.Format(ServiceConfigManager.GetAllMembersOfGroupPostEndPoint, serverDto.Protocol, serverDto.ServerName, serverDto.Port, tenant, principalName, type); ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; var requestConfig = new RequestSettings { Method = HttpMethod.Post, }; var headers = ServiceHelper.AddHeaders(ServiceConfigManager.JsonContentType); var postData = "access_token=" + token.AccessToken + "&token_type=" + token.TokenType.ToString().ToLower(); var response = _webRequestManager.GetResponse(url, requestConfig, headers, null, postData); return JsonConvert.Deserialize<GroupMembershipDto>(response); }
private GroupDto AddNewGroup (GroupDto userDto) { userDto.GroupDomain = _domainName; var serverDto = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto.ServerName); return SnapInContext.Instance.ServiceGateway.Group.Create(_serverDto, _tenantName, userDto, serverDto.Token); }
public override void AwakeFromNib () { base.AwakeFromNib (); GroupDto = new GroupDto { GroupName = GroupDtoOriginal.GroupName, GroupDomain = GroupDtoOriginal.GroupDomain, GroupDetails = new GroupDetailsDto { Description = GroupDtoOriginal.GroupDetails.Description } }; TxtGroupName.StringValue = GroupDto.GroupName == null ? string.Empty : GroupDto.GroupName; TxtGroupDescription.StringValue = GroupDto.GroupDetails.Description == null ? string.Empty : GroupDto.GroupDetails.Description; GroupMembersTableView.Delegate = new TableDelegate (); GroupMembershipDto = new GroupMembershipDto { Users = (GroupsMembershipDtoOriginal.Users == null ? new List<UserDto> () : new List<UserDto> (GroupsMembershipDtoOriginal.Users)), SolutionUsers = (GroupsMembershipDtoOriginal.SolutionUsers == null ? new List<SolutionUserDto> () : new List<SolutionUserDto> (GroupsMembershipDtoOriginal.SolutionUsers)), Groups = (GroupsMembershipDtoOriginal.Groups == null ? new List<GroupDto> () : new List<GroupDto> (GroupsMembershipDtoOriginal.Groups)) }; SetGroupDataSource (GroupMembershipDto); BtnSave.Hidden = !IsSystemDomain; this.BtnSave.Activated += OnClickSaveButton; this.BtnAddMember.Activated += OnClickAddMember; this.BtnRemoveMember.Activated += OnClickRemoveMember; BtnAddMember.Enabled = IsSystemDomain; BtnRemoveMember.Enabled = IsSystemDomain; }