tgstation-server 6.19.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
AuthorizationService.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Threading.Tasks;
5
6using Microsoft.AspNetCore.Authorization;
7using Microsoft.AspNetCore.Http;
8
10{
13 {
18
22 readonly Microsoft.AspNetCore.Authorization.IAuthorizationService aspNetCoreAuthorizationService;
23
31 Microsoft.AspNetCore.Authorization.IAuthorizationService aspNetCoreAuthorizationService)
32 {
33 this.claimsPrincipalAccessor = claimsPrincipalAccessor ?? throw new ArgumentNullException(nameof(claimsPrincipalAccessor));
34 this.aspNetCoreAuthorizationService = aspNetCoreAuthorizationService ?? throw new ArgumentNullException(nameof(aspNetCoreAuthorizationService));
35 }
36
38 public async ValueTask<AuthorizationResult> AuthorizeAsync(IEnumerable<IAuthorizationRequirement> requirements)
39 {
40 ArgumentNullException.ThrowIfNull(requirements);
41
42 // asp net fails for an empty authorization requirement list
43 var bakedRequirements = requirements.ToList();
44 if (bakedRequirements.Count == 0)
45 return AuthorizationResult.Success();
46
49 null,
50 bakedRequirements);
51
52 return result;
53 }
54 }
55}
readonly IClaimsPrincipalAccessor claimsPrincipalAccessor
The IHttpContextAccessor for the AuthorizationService.
async ValueTask< AuthorizationResult > AuthorizeAsync(IEnumerable< IAuthorizationRequirement > requirements)
Attempt to authorize the current context with a given requirement .A ValueTask<TResult> resulting in ...
AuthorizationService(IClaimsPrincipalAccessor claimsPrincipalAccessor, Microsoft.AspNetCore.Authorization.IAuthorizationService aspNetCoreAuthorizationService)
Initializes a new instance of the AuthorizationService class.
readonly Microsoft.AspNetCore.Authorization.IAuthorizationService aspNetCoreAuthorizationService
The Microsoft.AspNetCore.Authorization.IAuthorizationService for the AuthorizationService.
Interface for evaluating IAuthorizationRequirements.
ValueTask< AuthorizationResult > AuthorizeAsync(IEnumerable< IAuthorizationRequirement > requirement)
Attempt to authorize the current context with a given requirement .
Interface for accessing the current request's ClaimsPrincipal.
ClaimsPrincipal User
Get the current ClaimsPrincipal.