Interface IElementContainerPermissionService
Manages permissions for element container access.
Namespace: Umbraco.Cms.Core.Services
Assembly: Umbraco.Core.dll
Syntax
public interface IElementContainerPermissionService
Methods
View SourceAuthorizeAccessAsync(IUser, IEnumerable<Guid>, ISet<string>)
Authorize that a user has access to element containers.
Declaration
Task<ElementAuthorizationStatus> AuthorizeAccessAsync(IUser user, IEnumerable<Guid> containerKeys, ISet<string> permissionsToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| IEnumerable<Guid> | containerKeys | The identifiers of the element containers 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 container.
Declaration
Task<ElementAuthorizationStatus> AuthorizeAccessAsync(IUser user, Guid containerKey, string permissionToCheck)
Parameters
| Type | Name | Description |
|---|---|---|
| IUser | user | IUser to authorize. |
| Guid | containerKey | The identifier of the element container 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 container 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 container 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. |
AuthorizeRootAccessAsync(IUser, ISet<string>)
Authorize that a user is allowed to perform actions on the element container 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 container 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-container 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 element containers, and permission verbs carry nothing that identifies the entity type they belong to. An implementation should therefore only remove verbs it owns.