diff options
Diffstat (limited to 'src/mongo/db/s/get_shard_version_command.cpp')
-rw-r--r-- | src/mongo/db/s/get_shard_version_command.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mongo/db/s/get_shard_version_command.cpp b/src/mongo/db/s/get_shard_version_command.cpp index e38db486b20..1ad1689faf8 100644 --- a/src/mongo/db/s/get_shard_version_command.cpp +++ b/src/mongo/db/s/get_shard_version_command.cpp @@ -69,22 +69,22 @@ public: const std::string& dbname, const BSONObj& cmdObj) const override { if (!AuthorizationSession::get(client)->isAuthorizedForActionsOnResource( - ResourcePattern::forExactNamespace(NamespaceString(parseNs(dbname, cmdObj))), + ResourcePattern::forExactNamespace(parseNs({boost::none, dbname}, cmdObj)), ActionType::getShardVersion)) { return Status(ErrorCodes::Unauthorized, "Unauthorized"); } return Status::OK(); } - std::string parseNs(const std::string& dbname, const BSONObj& cmdObj) const override { - return CommandHelpers::parseNsFullyQualified(cmdObj); + NamespaceString parseNs(const DatabaseName& dbName, const BSONObj& cmdObj) const override { + return NamespaceString(dbName.tenantId(), CommandHelpers::parseNsFullyQualified(cmdObj)); } bool run(OperationContext* opCtx, const std::string& dbname, const BSONObj& cmdObj, BSONObjBuilder& result) override { - const NamespaceString nss(parseNs(dbname, cmdObj)); + const NamespaceString nss(parseNs({boost::none, dbname}, cmdObj)); uassertStatusOK(ShardingState::get(opCtx)->canAcceptShardedCommands()); |