mirror of
https://github.com/bitwarden/server
synced 2025-12-11 05:43:35 +00:00
[AC-2538] Limit admin access - fix ManageUsers custom permission (#4032)
* Fix issue where ManageUsers custom permission could not grant access to collections * Split ModifyAccess operation to ModifyUserAccess and ModifyGroupAccess to reflect more granular operations
This commit is contained in:
@@ -345,7 +345,9 @@ public class CollectionsControllerTests
|
||||
sutProvider.GetDependency<IAuthorizationService>().AuthorizeAsync(
|
||||
Arg.Any<ClaimsPrincipal>(), ExpectedCollectionAccess(),
|
||||
Arg.Is<IEnumerable<IAuthorizationRequirement>>(
|
||||
r => r.Contains(BulkCollectionOperations.ModifyAccess)
|
||||
reqs => reqs.All(r =>
|
||||
r == BulkCollectionOperations.ModifyUserAccess ||
|
||||
r == BulkCollectionOperations.ModifyGroupAccess)
|
||||
))
|
||||
.Returns(AuthorizationResult.Success());
|
||||
|
||||
@@ -359,8 +361,9 @@ public class CollectionsControllerTests
|
||||
Arg.Any<ClaimsPrincipal>(),
|
||||
ExpectedCollectionAccess(),
|
||||
Arg.Is<IEnumerable<IAuthorizationRequirement>>(
|
||||
r => r.Contains(BulkCollectionOperations.ModifyAccess))
|
||||
);
|
||||
reqs => reqs.All(r =>
|
||||
r == BulkCollectionOperations.ModifyUserAccess ||
|
||||
r == BulkCollectionOperations.ModifyGroupAccess)));
|
||||
await sutProvider.GetDependency<IBulkAddCollectionAccessCommand>().Received()
|
||||
.AddAccessAsync(
|
||||
Arg.Is<ICollection<Collection>>(g => g.SequenceEqual(collections)),
|
||||
@@ -500,7 +503,9 @@ public class CollectionsControllerTests
|
||||
sutProvider.GetDependency<IAuthorizationService>().AuthorizeAsync(
|
||||
Arg.Any<ClaimsPrincipal>(), ExpectedCollectionAccess(),
|
||||
Arg.Is<IEnumerable<IAuthorizationRequirement>>(
|
||||
r => r.Contains(BulkCollectionOperations.ModifyAccess)
|
||||
reqs => reqs.All(r =>
|
||||
r == BulkCollectionOperations.ModifyUserAccess ||
|
||||
r == BulkCollectionOperations.ModifyGroupAccess)
|
||||
))
|
||||
.Returns(AuthorizationResult.Failed());
|
||||
|
||||
@@ -511,7 +516,9 @@ public class CollectionsControllerTests
|
||||
Arg.Any<ClaimsPrincipal>(),
|
||||
ExpectedCollectionAccess(),
|
||||
Arg.Is<IEnumerable<IAuthorizationRequirement>>(
|
||||
r => r.Contains(BulkCollectionOperations.ModifyAccess))
|
||||
reqs => reqs.All(r =>
|
||||
r == BulkCollectionOperations.ModifyUserAccess ||
|
||||
r == BulkCollectionOperations.ModifyGroupAccess))
|
||||
);
|
||||
await sutProvider.GetDependency<IBulkAddCollectionAccessCommand>().DidNotReceiveWithAnyArgs()
|
||||
.AddAccessAsync(default, default, default);
|
||||
|
||||
Reference in New Issue
Block a user