Пример #1
0
        //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);
        }
Пример #2
0
        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)));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
        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);
        }