57 if (
context.User.Identity?.IsAuthenticated !=
true)
61 return Task.CompletedTask;
113 Enabled = user.Enabled!.Value,
114 user.LastPasswordUpdate,
116 .TagWith(
"user_session_validation")
158 .Where(user => user.Id ==
userId && user.PermissionSet !=
null)
159 .Select(user => user.PermissionSet!.Id);
162 .Where(user => user.Id ==
userId && user.Group !=
null)
163 .Select(user => user.Group!.PermissionSet!.Id);
165 object? permissionSet;
173 permissionSet =
await databaseContext
174 .InstancePermissionSets
178 .TagWith(
"rights_authorization_handler_instance_permission_set")
182 permissionSet =
await databaseContext
186 .TagWith(
"rights_authorization_handler_permission_set")
189 if (permissionSet ==
null)
213 Array.Empty<
object>())
static bool IsInstanceRight(RightsType rightsType)
Check if a given rightsType is meant for an Models.Instance.
static IEnumerable< Type > AllRightTypes()
Iterate the Type of each right.
Extension methods for the ValueTask and ValueTask<TResult> classes.
static async ValueTask WhenAll(IEnumerable< ValueTask > tasks)
Fully await a given list of tasks .
Represents an Api.Models.Instance in the database.
IAuthorizationHandler for RightsConditional<TRights>s and UserSessionValidRequirements.
AuthorizationHandler(IDatabaseContextFactory databaseContextFactory, IApiHeadersProvider apiHeadersProvider)
Initializes a new instance of the AuthorizationHandler class.
readonly IDatabaseContextFactory databaseContextFactory
The IDatabaseContextFactory for the AuthorizationHandler.
IEnumerable< ValueTask > InvokeHandleRightsConditionalRequirement< TRights >(AuthorizationHandlerContext context, CancellationToken cancellationToken)
Handle invoking HandleRightsConditionalRequirement<TRights>(AuthorizationHandlerContext,...
ValueTask HandleRightsConditionalRequirement< TRights >(AuthorizationHandlerContext context, RightsConditional< TRights > requirement, CancellationToken cancellationToken)
Handle RightsConditional<TRights> authorization requirements.
ValueTask HandleSessionValidRequirement(AuthorizationHandlerContext context, UserSessionValidRequirement requirement, CancellationToken cancellationToken)
Handle UserSessionValidRequirement authorization requirements.
readonly IApiHeadersProvider apiHeadersProvider
The IApiHeadersProvider for the AuthorizationHandler.
Task HandleAsync(AuthorizationHandlerContext context)
An conditional expression of TRights .
IAuthorizationRequirement for testing if a user is enabled and their session is valid.
Factory for scoping usage of IDatabaseContexts. Meant for use by Components.
ValueTask UseContext(Func< IDatabaseContext, ValueTask > operation)
Run an operation in the scope of an IDatabaseContext.
@ List
User may list files if the Models.Instance allows it.