diff options
| author | Jake Mannens <jake@asger.xyz> | 2023-09-29 05:01:45 +1000 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2023-09-29 05:33:04 +1000 |
| commit | 76e4bf609c3d196bd20619188a317fca66f4a04a (patch) | |
| tree | 8d6544efc82782f2417f39f31fd05aa76e68316e /Services/SecurityService.cs | |
| parent | bedcb6b176130fc2c6bd4657c8af4d407b64c970 (diff) | |
Separated Principal and LocalPrincipal types
Diffstat (limited to 'Services/SecurityService.cs')
| -rw-r--r-- | Services/SecurityService.cs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Services/SecurityService.cs b/Services/SecurityService.cs index f1444c1..8c97c7b 100644 --- a/Services/SecurityService.cs +++ b/Services/SecurityService.cs @@ -7,8 +7,8 @@ namespace HyperBooru.Services; public class SecurityService { private IDbContextFactory<HBContext> dbFactory; - private MemoryCache<SidStruct, HBPrincipal> principalCache; - private MemoryCache<int, Acl> aclCache; + private MemoryCache<SidStruct, Principal> principalCache; + private MemoryCache<int, Acl> aclCache; public SecurityService(IDbContextFactory<HBContext> dbFactory) { this.dbFactory = dbFactory; @@ -39,7 +39,7 @@ public class SecurityService { public IEnumerable<HBObject> Filter( IEnumerable<HBObject> objects, - HBPrincipal principal, + Principal principal, ulong permissions) { foreach(var obj in objects) { @@ -51,7 +51,7 @@ public class SecurityService { public IEnumerable<HBObject> Filter<T>( IEnumerable<HBObject> objects, - HBPrincipal principal, + Principal principal, T permissions) where T : Enum => Filter(objects, principal, permissions); @@ -62,14 +62,14 @@ public class SecurityService { /// <param name="acl"> /// ACL to resolve (returns a bitmask consisting of all 1's if this field is null) /// </param> - private ulong GetPermissions(Acl? acl, HBPrincipal principal) { + private ulong GetPermissions(Acl? acl, Principal principal) { if(acl is null) return ulong.MaxValue; ulong permissions = 0; var principals = GetGroupMemberShip(principal) - .Cast<HBPrincipal>() + .Cast<Principal>() .Concat(new[] { principal }) .Select(p => p.Sid) .ToArray(); @@ -96,7 +96,7 @@ public class SecurityService { /// Recursively get all groups of which the specified principal /// is a member, including implicit memberships. /// </summary> - private List<Group> GetGroupMemberShip(HBPrincipal principal) { + private List<Group> GetGroupMemberShip(Principal principal) { var groups = principal.MemberOf.ToList(); while(true) { |
