public static void SetPermissions() { var pages = Context.GetPermissionOrNull("Pages") ?? Context.CreatePermission("Pages", "Pages"); AncPermission administration = pages.Children.FirstOrDefault(p => p.Name == "Pages.Administration") ?? pages.CreateChildPermission("Pages.Administration", "Administration"); #region 用户管理 AncPermission userPermission = administration.CreateChildPermission(PermissionNames.Pages_Users, "用户管理"); userPermission.CreateChildPermission(PermissionNames.Pages_Users_Query, "查询"); userPermission.CreateChildPermission(PermissionNames.Pages_Users_Create, "创建"); userPermission.CreateChildPermission(PermissionNames.Pages_Users_Edit, "修改"); userPermission.CreateChildPermission(PermissionNames.Pages_Users_Delete, "删除"); userPermission.CreateChildPermission(PermissionNames.Pages_Users_BatchDelete, "批量删除"); #endregion 用户管理 #region 角色管理 AncPermission rolePermission = administration.CreateChildPermission(PermissionNames.Pages_Roles, "角色管理"); rolePermission.CreateChildPermission(PermissionNames.Pages_Roles_Query, "查询"); rolePermission.CreateChildPermission(PermissionNames.Pages_Roles_Create, "创建"); rolePermission.CreateChildPermission(PermissionNames.Pages_Roles_Edit, "修改"); rolePermission.CreateChildPermission(PermissionNames.Pages_Roles_Delete, "删除"); rolePermission.CreateChildPermission(PermissionNames.Pages_Roles_BatchDelete, "批量删除"); #endregion 角色管理 }
public AncPermission CreatePermission( string name, string displayName = null, string description = null) { if (Permissions.ContainsKey(name)) { throw new UserFriendlyException("There is already a permission with name: " + name); } var permission = new AncPermission(name, displayName, description); Permissions[permission.Name] = permission; return(permission); }
private FlatPermissionDto AddPermission(AncPermission permission , IList <Permission> oldPermissions) { var flatPermission = _mapper.Map <FlatPermissionDto>(permission); if (oldPermissions != null && oldPermissions.Any(op => op.Name == permission.Name)) { flatPermission.IsGranted = true; } foreach (AncPermission child in permission.Children) { if (flatPermission.Children == null) { flatPermission.Children = new List <FlatPermissionDto>(); } flatPermission.Children.Add(AddPermission(child, oldPermissions)); } return(flatPermission); }