Merge pull request #9778 from umbraco/v8/bugfix/broken-user-permissions-caches

Fixes issue with broken caches used for user permissions
This commit is contained in:
Bjarke Berg
2021-02-16 13:41:29 +01:00
committed by GitHub
35 changed files with 350 additions and 228 deletions

View File

@@ -47,7 +47,7 @@ namespace Umbraco.Web.Trees
private int[] _userStartNodes;
protected override int[] UserStartNodes
=> _userStartNodes ?? (_userStartNodes = Security.CurrentUser.CalculateContentStartNodeIds(Services.EntityService));
=> _userStartNodes ?? (_userStartNodes = Security.CurrentUser.CalculateContentStartNodeIds(Services.EntityService, AppCaches));
public ContentTreeController(UmbracoTreeSearcher treeSearcher, ActionCollection actions, IGlobalSettings globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ISqlContext sqlContext, ServiceContext services, AppCaches appCaches, IProfilingLogger logger, IRuntimeState runtimeState, UmbracoHelper umbracoHelper) : base(globalSettings, umbracoContextAccessor, sqlContext, services, appCaches, logger, runtimeState, umbracoHelper)
{
@@ -165,7 +165,7 @@ namespace Umbraco.Web.Trees
}
//if the user has no path access for this node, all they can do is refresh
if (!Security.CurrentUser.HasContentPathAccess(item, Services.EntityService))
if (!Security.CurrentUser.HasContentPathAccess(item, Services.EntityService, AppCaches))
{
var menu = new MenuItemCollection();
menu.Items.Add(new RefreshNode(Services.TextService, true));