public async Task <Response <ApplicationSecurityGroup> > GetAsync(string resourceGroupName, string applicationSecurityGroupName, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (applicationSecurityGroupName == null) { throw new ArgumentNullException(nameof(applicationSecurityGroupName)); } using var message = CreateGetRequest(resourceGroupName, applicationSecurityGroupName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: { ApplicationSecurityGroup value = default; using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); if (document.RootElement.ValueKind == JsonValueKind.Null) { value = null; } else { value = ApplicationSecurityGroup.DeserializeApplicationSecurityGroup(document.RootElement); } return(Response.FromValue(value, message.Response)); }
public ActionResult DeleteConfirmSecurityGroup(string id) { ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups .Include(x => x.Roles).Include(x => x.Users) .FirstOrDefault(x => x.Id == id); securityGroup.Users.ForEach(u => { securityGroup.Roles.ForEach(role => { // Silinecek role başka bir sec grp da var mı? Varsa kullanıcıdan silmemeliyiz. bool hasAnotherSecGroupThatRoleForUser = u.SecurityGroups.Where(x => x.Id != id).ToList() .Any(x => x.Roles.Any(r => r.Id == role.Id)); if (hasAnotherSecGroupThatRoleForUser == false) { UserManager.RemoveFromRole(u.Id, role.Name); } }); }); IdentityContext.SecurityGroups.Remove(securityGroup); IdentityContext.SaveChanges(); return(JavaScript("deletesecuritygroup_success();")); }
private static void AddInitialSecurityGroups(IdentityContext context, SecurityGroupInitializeObject[] securityGroups) { foreach (var item in securityGroups) { ApplicationSecurityGroup securityGroup = context.SecurityGroups.FirstOrDefault(x => x.Name == item.Name); bool isCreated = false; if (securityGroup == null) { securityGroup = new ApplicationSecurityGroup() { Id = Guid.NewGuid().ToString(), Name = item.Name, Description = "Lorem ipsum dolor sit a met." }; isCreated = true; } securityGroup.Roles.Clear(); context.SaveChanges(); List <ApplicationRole> roles = context.Roles.Where(x => item.RoleNames.Contains(x.Name)).ToList(); securityGroup.Roles.AddRange(roles); if (isCreated) { context.SecurityGroups.Add(securityGroup); } context.SaveChanges(); } }
public ActionResult DetailsSecurityGroup(string id) { ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(id); SecurityGroupDetailsViewModel model = new SecurityGroupDetailsViewModel { SecurityGroup = securityGroup }; return(PartialView("_SecurityGroupDetailsModalPartial", model)); }
public ActionResult EditSecurityGroup(string id) { ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(id); SecurityGroupEditViewModel model = new SecurityGroupEditViewModel { SecurityGroupId = securityGroup.Id, Name = securityGroup.Name, Description = securityGroup.Description }; return(PartialView("_SecurityGroupEditModalPartial", model)); }
public ActionResult DetailsAddRoleToSecurityGroup(string roleId, string securityGroupId) { ApplicationRole applicationRole = IdentityContext.Roles.Find(roleId); ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(securityGroupId); securityGroup.Roles.Add(applicationRole); IdentityContext.SaveChanges(); securityGroup.Users.ForEach(u => UserManager.AddToRole(u.Id, applicationRole.Name)); return(DetailsSecurityGroupRoles(securityGroupId)); }
public ActionResult DetailsAddSecurityGroupToUser(string userId, string securityGroupId) { ApplicationUser applicationUser = UserManager.FindById(userId); ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.FirstOrDefault(x => x.Id == securityGroupId); List <string> roleNames = securityGroup.Roles.Select(x => x.Name).ToList(); roleNames.ForEach(rname => UserManager.AddToRole(applicationUser.Id, rname)); applicationUser.SecurityGroups.Add(securityGroup); UserManager.Update(applicationUser); return(DetailsUserData(userId)); }
public ActionResult EditSecurityGroup(SecurityGroupEditViewModel model) { if (ModelState.IsValid) { ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(model.SecurityGroupId); securityGroup.Name = model.Name; securityGroup.Description = model.Description; IdentityContext.SaveChanges(); return(JavaScript("editsecuritygroup_success();")); } return(PartialView("_SecurityGroupEditFormPartial", model)); }
public ActionResult DetailsAddUserToSecurityGroup(string userId, string securityGroupId) { ApplicationUser applicationUser = IdentityContext.Users.Find(userId); ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(securityGroupId); securityGroup.Users.Add(applicationUser); IdentityContext.SaveChanges(); securityGroup.Roles.ForEach(r => { UserManager.AddToRole(applicationUser.Id, r.Name); }); return(DetailsSecurityGroupUsers(securityGroupId)); }
private PSPrivateEndpoint CreatePSPrivateEndpoint() { var psPrivateEndpoint = new PSPrivateEndpoint { Name = Name, ResourceGroupName = ResourceGroupName, Location = Location, Subnet = Subnet }; if (this.ByManualRequest.IsPresent) { psPrivateEndpoint.ManualPrivateLinkServiceConnections = this.PrivateLinkServiceConnection.ToList(); } else { psPrivateEndpoint.PrivateLinkServiceConnections = this.PrivateLinkServiceConnection.ToList(); } if (!string.IsNullOrEmpty(this.EdgeZone)) { psPrivateEndpoint.ExtendedLocation = new PSExtendedLocation(this.EdgeZone); } // Add support for new properties ApplicationSecurityGroup, IpConfiguration, CustomNetworkInterfaceName if (this.ApplicationSecurityGroup != null && this.ApplicationSecurityGroup.Length > 0) { psPrivateEndpoint._psApplicationSecurityGroups = ApplicationSecurityGroup.ToList(); } if (this.IpConfiguration != null && this.IpConfiguration.Length > 0) { psPrivateEndpoint._psIpConfigurations = this.IpConfiguration.ToList(); } if (this.CustomNetworkInterfaceName != null) { psPrivateEndpoint.CustomNetworkInterfaceName = this.CustomNetworkInterfaceName; } var peModel = NetworkResourceManagerProfile.Mapper.Map <MNM.PrivateEndpoint>(psPrivateEndpoint); peModel.Tags = TagsConversionHelper.CreateTagDictionary(Tag, validate: true); this.PrivateEndpointClient.CreateOrUpdate(ResourceGroupName, Name, peModel); var getPrivateEndpoint = GetPrivateEndpoint(ResourceGroupName, Name); return(getPrivateEndpoint); }
public ActionResult DetailsSecurityGroupRoles(string id) { ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(id); List <ApplicationRole> roles = securityGroup?.Roles.ToList(); string[] rolesIds = roles.Select(x => x.Id).ToArray(); List <ApplicationRole> exceptRoles = IdentityContext.Roles.Where(x => rolesIds.Contains(x.Id) == false).ToList(); SecurityGroupDetailsViewModel model = new SecurityGroupDetailsViewModel { SecurityGroup = securityGroup, Roles = roles, ExceptRoles = exceptRoles }; return(base.PartialView("_SecurityGroupRolesPartial", model)); }
private static void AddInitialUsersToSecurityGroup(IdentityContext context, List <UserInitializeObject> developers) { foreach (var item in developers) { ApplicationUser user = context.Users.FirstOrDefault(x => x.Email == item.Email); user.SecurityGroups.Clear(); context.SaveChanges(); foreach (SecurityGroupInitializeObject secGroup in item.SecurityGroups) { ApplicationSecurityGroup securityGroup = context.SecurityGroups.FirstOrDefault(x => x.Name == secGroup.Name); user.SecurityGroups.Add(securityGroup); } context.SaveChanges(); } }
public ActionResult DetailsSecurityGroupUsers(string id) { ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(id); List <ApplicationUser> users = securityGroup?.Users.ToList(); string[] usersIds = users.Select(x => x.Id).ToArray(); List <ApplicationUser> exceptUsers = IdentityContext.Users.Where(x => usersIds.Contains(x.Id) == false).ToList(); SecurityGroupDetailsViewModel model = new SecurityGroupDetailsViewModel { SecurityGroup = securityGroup, Users = users, ExceptUsers = exceptUsers }; return(base.PartialView("_SecurityGroupUsersPartial", model)); }
public ActionResult CreateSecurityGroup(SecurityGroupCreateViewModel model) { if (ModelState.IsValid) { ApplicationSecurityGroup securityGroup = new ApplicationSecurityGroup { Id = Guid.NewGuid().ToString(), Name = model.Name, Description = model.Description }; IdentityContext.SecurityGroups.Add(securityGroup); IdentityContext.SaveChanges(); return(JavaScript("createsecuritygroup_success();")); } return(PartialView("_SecurityGroupCreateFormPartial", model)); }
public ActionResult DetailsSecurityGroupData(string id) { ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(id); List <ApplicationRole> securityGroupRoles = securityGroup.Roles.ToList(); List <ApplicationUser> securityGroupUsers = securityGroup.Users.ToList(); string[] securityGroupRolesIds = securityGroupRoles.Select(x => x.Id).ToArray(); string[] securityGroupUsersIds = securityGroupUsers.Select(x => x.Id).ToArray(); List <ApplicationRole> securityGroupExceptRoles = IdentityContext.Roles.Where(x => securityGroupRolesIds.Contains(x.Id) == false).ToList(); List <ApplicationUser> securityGroupExceptUsers = IdentityContext.Users.Where(x => securityGroupUsersIds.Contains(x.Id) == false).ToList(); SecurityGroupDetailsViewModel model = new SecurityGroupDetailsViewModel { SecurityGroup = securityGroup, Roles = securityGroupRoles, Users = securityGroupUsers, ExceptRoles = securityGroupExceptRoles, ExceptUsers = securityGroupExceptUsers }; return(PartialView("_SecurityGroupDetailsDataPartial", model)); }
public ActionResult DetailsRemoveUserSecurityGroup(string userId, string securityGroupId) { ApplicationUser applicationUser = IdentityContext.Users.Find(userId); ApplicationSecurityGroup securityGroup = applicationUser.SecurityGroups.FirstOrDefault(x => x.Id == securityGroupId); securityGroup.Roles.ForEach(r => { var roleSecGroupsIds = r.SecurityGroups.Select(x => x.Id).ToArray(); var exceptSecGroups = r.SecurityGroups.Where(x => roleSecGroupsIds.Contains(x.Id) && x.Id != securityGroupId).ToList(); if (exceptSecGroups != null && exceptSecGroups.Count > 0) { //Eğer kullanıcının silinecek SG 'undan gelen rol'ü.Başka SG'lerde de varsa // Silinen SG'un dışındaki SG'ları için.. if (exceptSecGroups.Any(sg => sg.Users.Any(x => x.Id == applicationUser.Id))) { //Silinmeye çalışılan SG'un rollerinden şu an işlenen rol için, // Bu kullanıcı başka SG üzerinden bu rol'e aittir. // Yani kullanıcı rol'den kaldırılmamalı. // Kaldırılırsa, diğer SG içinde olmasına rağmen rol kullanıcıdan silinmiş olur. } else { //Silinecek SG'un rolü için Kullanıcı başka SG 'lar üzerinden dahi bu rol'e dahil değil. UserManager.RemoveFromRole(applicationUser.Id, r.Name); } } else { //Kullanıcının silinecek SG'undaki rol, başka SG'a ait değil. UserManager.RemoveFromRole(applicationUser.Id, r.Name); } }); UserManager.RemoveFromRoles(applicationUser.Id, securityGroup.Roles.Select(x => x.Name).ToArray()); applicationUser.SecurityGroups.Remove(securityGroup); IdentityContext.SaveChanges(); return(DetailsUserData(userId)); }
public ActionResult DetailsRemoveRoleFromSecurityGroup(string roleId, string securityGroupId) { ApplicationRole applicationRole = IdentityContext.Roles.Find(roleId); ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(securityGroupId); securityGroup.Roles.Remove(applicationRole); IdentityContext.SaveChanges(); securityGroup.Users.ForEach(u => { //Silinecek role başka bir sec grp da var mı? Varsa kullanıcıdan silmemeliyiz. bool hasAnotherSecGroupThatRoleForUser = u.SecurityGroups.Where(x => x.Id != securityGroupId).ToList() .Any(x => x.Roles.Any(r => r.Id == roleId)); if (hasAnotherSecGroupThatRoleForUser == false) { UserManager.RemoveFromRole(u.Id, applicationRole.Name); } }); return(DetailsSecurityGroupRoles(securityGroupId)); }
public virtual ApplicationSecurityGroupsCreateOrUpdateOperation StartCreateOrUpdate(string resourceGroupName, string applicationSecurityGroupName, ApplicationSecurityGroup parameters, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (applicationSecurityGroupName == null) { throw new ArgumentNullException(nameof(applicationSecurityGroupName)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var scope = _clientDiagnostics.CreateScope("ApplicationSecurityGroupsClient.StartCreateOrUpdate"); scope.Start(); try { var originalResponse = RestClient.CreateOrUpdate(resourceGroupName, applicationSecurityGroupName, parameters, cancellationToken); return(new ApplicationSecurityGroupsCreateOrUpdateOperation(_clientDiagnostics, _pipeline, RestClient.CreateCreateOrUpdateRequest(resourceGroupName, applicationSecurityGroupName, parameters).Request, originalResponse)); } catch (Exception e) { scope.Failed(e); throw; } }
/// <summary> /// Creates or updates an application security group. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='applicationSecurityGroupName'> /// The name of the application security group. /// </param> /// <param name='parameters'> /// Parameters supplied to the create or update ApplicationSecurityGroup /// operation. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <ApplicationSecurityGroup> BeginCreateOrUpdateAsync(this IApplicationSecurityGroupsOperations operations, string resourceGroupName, string applicationSecurityGroupName, ApplicationSecurityGroup parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, applicationSecurityGroupName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Creates or updates an application security group. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='applicationSecurityGroupName'> /// The name of the application security group. /// </param> /// <param name='parameters'> /// Parameters supplied to the create or update ApplicationSecurityGroup /// operation. /// </param> public static ApplicationSecurityGroup BeginCreateOrUpdate(this IApplicationSecurityGroupsOperations operations, string resourceGroupName, string applicationSecurityGroupName, ApplicationSecurityGroup parameters) { return(operations.BeginCreateOrUpdateAsync(resourceGroupName, applicationSecurityGroupName, parameters).GetAwaiter().GetResult()); }
public ActionResult DeleteSecurityGroup(string id) { ApplicationSecurityGroup securityGroup = IdentityContext.SecurityGroups.Find(id); return(PartialView("_SecurityGroupDeleteModalPartial", securityGroup)); }