Ensures that the auth cookie data contains all of the user's start nodes, fixes persisting the user group icon

This commit is contained in:
Shannon
2017-06-22 16:32:44 +10:00
parent 9786ae8428
commit b43ca64ac7
8 changed files with 364 additions and 321 deletions

View File

@@ -5,6 +5,7 @@ using System.Linq;
using System.Net;
using Umbraco.Core.Cache;
using Umbraco.Core.IO;
using Umbraco.Core.Models.Identity;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Services;
@@ -21,11 +22,29 @@ namespace Umbraco.Core.Models
return user.StartContentIds.Concat(user.Groups.Select(x => x.StartContentId)).Distinct();
}
/// <summary>
/// Returns all of the user's assigned start node ids based on ids assigned directly to the BackOfficeIdentityUser object and it's groups
/// </summary>
/// <returns></returns>
public static IEnumerable<int> GetCombinedStartContentIds(this BackOfficeIdentityUser user)
{
return user.StartContentIds.Concat(user.Groups.Select(x => x.StartContentId)).Distinct();
}
/// <summary>
/// Returns all of the user's assigned start node ids based on ids assigned directly to the IUser object and it's groups
/// </summary>
/// <returns></returns>
public static IEnumerable<int> GetCombinedStartMediaIds(this IUser user)
{
return user.StartMediaIds.Concat(user.Groups.Select(x => x.StartMediaId)).Distinct();
}
/// <summary>
/// Returns all of the user's assigned start node ids based on ids assigned directly to the BackOfficeIdentityUser object and it's groups
/// </summary>
/// <returns></returns>
public static IEnumerable<int> GetCombinedStartMediaIds(this BackOfficeIdentityUser user)
{
return user.StartMediaIds.Concat(user.Groups.Select(x => x.StartMediaId)).Distinct();
}