Interface IElementPermissionService
Manages permissions for element access.
Namespace: Umbraco.Cms.Core.Services
Assembly: Umbraco.Core.dll
Syntax
public interface IElementPermissionService
Methods
View SourceAuthorizeAccessAsync(IUser, IEnumerable<Guid>, ISet<string>)
Authorize that a user has access to elements.
Declaration
Task<ElementAuthorizationStatus> AuthorizeAccessAsync(IUser user, IEnumerable<Guid> elementKeys, ISet<string> permissionsToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| IEnumerable<Guid> | elementKeys | The identifiers of the elements to check for access. |
| ISet<string> | permissionsToCheck | The collection of permissions to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
AuthorizeAccessAsync(IUser, Guid, string)
Authorize that a user has access to an element.
Declaration
Task<ElementAuthorizationStatus> AuthorizeAccessAsync(IUser user, Guid elementKey, string permissionToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| Guid | elementKey | The identifier of the element to check for access. |
| string | permissionToCheck | The permission to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
AuthorizeBinAccessAsync(IUser, ISet<string>)
Authorize that a user is allowed to perform actions on the element recycle bin.
Declaration
Task<ElementAuthorizationStatus> AuthorizeBinAccessAsync(IUser user, ISet<string> permissionsToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| ISet<string> | permissionsToCheck | The collection of permissions to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
AuthorizeBinAccessAsync(IUser, string)
Authorize that a user is allowed to perform action on the element recycle bin.
Declaration
Task<ElementAuthorizationStatus> AuthorizeBinAccessAsync(IUser user, string permissionToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| string | permissionToCheck | The permission to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
AuthorizeCultureAccessAsync(IUser, ISet<string>)
Authorize that a user has access to specific cultures.
Declaration
Task<ElementAuthorizationStatus> AuthorizeCultureAccessAsync(IUser user, ISet<string> culturesToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| ISet<string> | culturesToCheck | The collection of cultures to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
AuthorizeDescendantsAccessAsync(IUser, Guid, ISet<string>)
Authorize that a user has access to the descendant items of an element.
Declaration
Task<ElementAuthorizationStatus> AuthorizeDescendantsAccessAsync(IUser user, Guid parentKey, ISet<string> permissionsToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| Guid | parentKey | The identifier of the parent element to check its descendants for access. |
| ISet<string> | permissionsToCheck | The collection of permissions to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
AuthorizeDescendantsAccessAsync(IUser, Guid, string)
Authorize that a user has access to the descendant items of an element.
Declaration
Task<ElementAuthorizationStatus> AuthorizeDescendantsAccessAsync(IUser user, Guid parentKey, string permissionToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| Guid | parentKey | The identifier of the parent element to check its descendants for access. |
| string | permissionToCheck | The permission to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
AuthorizeRootAccessAsync(IUser, ISet<string>)
Authorize that a user is allowed to perform actions on the element root.
Declaration
Task<ElementAuthorizationStatus> AuthorizeRootAccessAsync(IUser user, ISet<string> permissionsToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| ISet<string> | permissionsToCheck | The collection of permissions to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
AuthorizeRootAccessAsync(IUser, string)
Authorize that a user is allowed to perform action on the element root.
Declaration
Task<ElementAuthorizationStatus> AuthorizeRootAccessAsync(IUser user, string permissionToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| string | permissionToCheck | The permission to authorize. |
Returns
| Type | Description |
|---|---|
| Task<ElementAuthorizationStatus> | A task resolving into a ElementAuthorizationStatus. |
FilterFallbackPermissionsAsync(IUser, ISet<string>)
Filters the fallback permissions for a user. Fallback permissions are the user group default permissions used by the UI when no granular per-element permissions are assigned.
Declaration
Task<ISet<string>> FilterFallbackPermissionsAsync(IUser user, ISet<string> fallbackPermissions)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to filter permissions for. |
| ISet<string> | fallbackPermissions | The fallback permissions aggregated from the user's groups. |
Returns
| Type | Description |
|---|---|
| Task<ISet<string>> | A task resolving into the filtered set of fallback permissions. |
Remarks
Only removals are honoured. The returned set is intersected with the supplied one, so a verb added by an implementation is discarded. Every permission service is given its own copy of the same unfiltered set, which also means no implementation can reinstate a verb that another has removed.
The supplied set holds every fallback verb assigned to the user, not only those relating to elements, and permission verbs carry nothing that identifies the entity type they belong to. An implementation should therefore only remove verbs it owns.
GetPermissionsAsync(IUser, IEnumerable<Guid>)
Gets the effective permissions for a user on the specified element items.
Declaration
Task<IEnumerable<NodePermissions>> GetPermissionsAsync(IUser user, IEnumerable<Guid> elementKeys)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to get permissions for. |
| IEnumerable<Guid> | elementKeys | The identifiers of the element items to get permissions for. |
Returns
| Type | Description |
|---|---|
| Task<IEnumerable<NodePermissions>> | A task resolving into the effective permissions for each element item. |