summaryrefslogtreecommitdiff
path: root/src/mongo/db/auth/authorization_manager_impl.cpp
diff options
context:
space:
mode:
authorSara Golemon <sara.golemon@mongodb.com>2022-06-16 14:15:24 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-07-07 16:06:08 +0000
commit51e8972dca292dbc6f80d13252b8555c8ce633c9 (patch)
tree9c48e9a142ba48faf17dc0fd9e8ddd8e444a0b69 /src/mongo/db/auth/authorization_manager_impl.cpp
parenta7ce4c0c9b3abf5bc27675a4b5edde401371a2fd (diff)
downloadmongo-51e8972dca292dbc6f80d13252b8555c8ce633c9.tar.gz
SERVER-66586 Add multitenancy support to UMC commands
Diffstat (limited to 'src/mongo/db/auth/authorization_manager_impl.cpp')
-rw-r--r--src/mongo/db/auth/authorization_manager_impl.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/mongo/db/auth/authorization_manager_impl.cpp b/src/mongo/db/auth/authorization_manager_impl.cpp
index 4ecfb5af2df..2d1d6117736 100644
--- a/src/mongo/db/auth/authorization_manager_impl.cpp
+++ b/src/mongo/db/auth/authorization_manager_impl.cpp
@@ -684,16 +684,23 @@ void AuthorizationManagerImpl::invalidateUserByName(OperationContext* opCtx,
_userCache.invalidateKey(UserRequest(userName, boost::none));
}
-void AuthorizationManagerImpl::invalidateUsersFromDB(OperationContext* opCtx, StringData dbname) {
+void AuthorizationManagerImpl::invalidateUsersFromDB(OperationContext* opCtx,
+ const DatabaseName& dbname) {
LOGV2_DEBUG(20236, 2, "Invalidating all users from database", "database"_attr = dbname);
_updateCacheGeneration();
_authSchemaVersionCache.invalidateAll();
- _userCache.invalidateKeyIf(
- [&](const UserRequest& userRequest) { return userRequest.name.getDB() == dbname; });
+ _userCache.invalidateKeyIf([&](const UserRequest& userRequest) {
+ return userRequest.name.getDatabaseName() == dbname;
+ });
}
void AuthorizationManagerImpl::invalidateUsersByTenant(OperationContext* opCtx,
- const TenantId& tenant) {
+ const boost::optional<TenantId>& tenant) {
+ if (!tenant) {
+ invalidateUserCache(opCtx);
+ return;
+ }
+
LOGV2_DEBUG(6323600, 2, "Invalidating tenant users", "tenant"_attr = tenant);
_updateCacheGeneration();
_authSchemaVersionCache.invalidateAll();