//Get all permissions by user public List <IdentityPermission> GetPermissionsByUser(string UserId) { List <IdentityPermission> list = new List <IdentityPermission>(); using (var conn = new SqlConnection(_connectionString)) { var parameters = new Dictionary <string, object> { { "@UserId", UserId } }; var reader = MsSqlHelper.ExecuteReader(conn, CommandType.Text, @"SELECT c.ActionName,d.AccessName FROM aspnetuserroles a LEFT JOIN aspnetaccessroles b ON a.RoleId = b.RoleId LEFT JOIN aspnetoperations c ON b.OperationId = c.Id LEFT JOIN aspnetaccess d ON c.AccessId = d.Id WHERE 1=1 AND a.UserId = @UserId AND d.Active = 1" , parameters); while (reader.Read()) { var item = new IdentityPermission(); item.Action = reader["ActionName"].ToString(); item.Controller = reader["AccessName"].ToString(); list.Add(item); } } return(list); }
public async Task <IActionResult> EditEnable([FromRoute][Required] string id, [Required] DateTime editetime, bool enable = true) { if (!ModelState.IsValid) { return(Failed()); } IdentityPermission identityPermission = new IdentityPermission { Id = id, EditedTime = editetime }; return(Json(await _permissionManager.EditEnable(identityPermission, enable))); }
public async Task <IActionResult> Edit([FromRoute] string id, [FromBody] EditPermissionDto editPermission) { if (!ModelState.IsValid) { return(Failed()); } if (id != editPermission.Id) { return(BadRequest()); } IdentityPermission identityPermission = mapper.Map <IdentityPermission>(editPermission); var result = await _permissionManager.Store.UpdateAsync(identityPermission, default); LogerHelp.Info(identityPermission); return(Ok(result)); }
public async Task GetEditPermissionsViewModelTest() { string roleId = Guid.NewGuid().ToString("N"); string userId = Guid.NewGuid().ToString("N"); var role = new IdentityRole { Id = roleId }; var permission = new IdentityPermission(); var rolePermission = new IdentityRolePermission { RoleId = role.Id, PermissionId = permission.Id }; role.Permissions = new List <IdentityRolePermission> { rolePermission }; var user = new User { Id = userId }; user.Roles.Add(new IdentityUserRole { RoleId = role.Id, Role = role, User = user, UserId = user.Id }); _userRepository.Setup(x => x.GetAsync(It.IsAny <string>())) .Returns(Task.FromResult(user)); _permissionManagerFacade.Setup(x => x.GetAll()) .Returns(Task.FromResult(Enumerable.Repeat(permission, 6))); var result = await _permissionsMapper.GetEditPermissionViewModel <IdentityRole, IdentityPermissionViewModel>(userId, roleId); Assert.That(result.Permissions.Count(), Is.EqualTo(6)); }
public async Task UpdateRolePermissionsShouldSuccess() { var repository = Repository as RoleRepository; string roleId = Guid.NewGuid().ToString("N"); var role = new IdentityRole { Id = roleId }; var permission1Id = Guid.NewGuid().ToString("N"); var permission1 = new IdentityPermission { Name = "1", Id = permission1Id }; var permission2Id = Guid.NewGuid().ToString("N"); var permission2 = new IdentityPermission { Name = "2", Id = permission2Id }; var p3 = new IdentityPermission { Name = "3" }; var p4 = new IdentityPermission { Name = "4" }; var allPermissions = new List <IdentityPermission> { permission1, permission2, p3, p4 }; _permissionManager.Setup(x => x.GetAll()) .Returns(Task.FromResult(allPermissions.AsEnumerable())); _roleManager.Setup(x => x.FindByIdAsync(roleId)) .Returns(Task.FromResult(role)); var userPermission1 = new IdentityRolePermission { Permission = permission1, PermissionId = permission1Id, Role = role, RoleId = roleId }; var userPermission2 = new IdentityRolePermission { Permission = permission2, PermissionId = permission2Id, Role = role, RoleId = roleId }; role.Permissions = new List <IdentityRolePermission> { userPermission1, userPermission2 }; var permissions = new List <IdentityPermissionViewModel> { new IdentityPermissionViewModel { Id = permission1.Id, IsSelected = false }, new IdentityPermissionViewModel { Id = permission2.Id, IsSelected = false }, new IdentityPermissionViewModel { Id = p3.Id, IsSelected = true }, new IdentityPermissionViewModel { Id = p3.Id, IsSelected = true } }; IEditPermissionViewModel <IdentityRole, IdentityPermissionViewModel> model = new EditPermissionViewModel { Permissions = permissions, Role = role, RoleId = roleId }; var result = await repository.UpdateRolePermissions(model); Assert.IsTrue(result.Succeeded); }