using Umbraco.Cms.Core.Models.PublishedContent; namespace Umbraco.Cms.Core.Security; /// /// The user manager for members /// public interface IMemberManager : IUmbracoUserManager { /// /// Returns the instance for the specified /// /// /// IPublishedContent? AsPublishedMember(MemberIdentityUser user); /// /// Returns the currently logged in member if there is one, else returns null /// /// Task GetCurrentMemberAsync(); /// /// Checks if the current member is authorized based on the parameters provided. /// /// Allowed types. /// Allowed groups. /// Allowed individual members. /// True or false if the currently logged in member is authorized Task IsMemberAuthorizedAsync( IEnumerable? allowTypes = null, IEnumerable? allowGroups = null, IEnumerable? allowMembers = null); /// /// Check if a member is logged in /// /// bool IsLoggedIn(); /// /// Check if the current user has access to a document /// /// The full path of the document object to check /// True if the current user has access or if the current document isn't protected Task MemberHasAccessAsync(string path); /// /// Checks if the current user has access to the paths /// /// /// Task> MemberHasAccessAsync(IEnumerable paths); /// /// Check if a document object is protected by the "Protect Pages" functionality in umbraco /// /// The full path of the document object to check /// True if the document object is protected Task IsProtectedAsync(string path); Task> IsProtectedAsync(IEnumerable paths); }