diff options
author | Sara Golemon <sara.golemon@mongodb.com> | 2022-06-16 14:15:24 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-07-07 16:06:08 +0000 |
commit | 51e8972dca292dbc6f80d13252b8555c8ce633c9 (patch) | |
tree | 9c48e9a142ba48faf17dc0fd9e8ddd8e444a0b69 /src/mongo/db/auth/authorization_manager_impl.cpp | |
parent | a7ce4c0c9b3abf5bc27675a4b5edde401371a2fd (diff) | |
download | mongo-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.cpp | 15 |
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(); |