summaryrefslogtreecommitdiff
path: root/src/mongo/db/auth/role_graph_builtin_roles.cpp
diff options
context:
space:
mode:
authorGabriel Russell <gabriel.russell@mongodb.com>2017-06-22 15:06:55 -0400
committerGabriel Russell <gabriel.russell@mongodb.com>2017-07-17 16:14:36 -0400
commitba8f82ff901ce971fadae87b4e45a3432248d434 (patch)
tree0cf29b30ff225f9bb8d9ae0dc03c9dedb4665c24 /src/mongo/db/auth/role_graph_builtin_roles.cpp
parent34d82ec87524545d67067b42c101fa5911763c29 (diff)
downloadmongo-ba8f82ff901ce971fadae87b4e45a3432248d434.tar.gz
SERVER-28334 startSession command
Diffstat (limited to 'src/mongo/db/auth/role_graph_builtin_roles.cpp')
-rw-r--r--src/mongo/db/auth/role_graph_builtin_roles.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/auth/role_graph_builtin_roles.cpp b/src/mongo/db/auth/role_graph_builtin_roles.cpp
index 6273f4505f5..a9ee381c277 100644
--- a/src/mongo/db/auth/role_graph_builtin_roles.cpp
+++ b/src/mongo/db/auth/role_graph_builtin_roles.cpp
@@ -648,6 +648,11 @@ void addInternalRolePrivileges(PrivilegeVector* privileges) {
RoleGraph::generateUniversalPrivileges(privileges);
}
+void addAnyBuiltinRolePrivileges(PrivilegeVector* privileges) {
+ Privilege::addPrivilegeToPrivilegeVector(
+ privileges, Privilege(ResourcePattern::forClusterResource(), ActionType::startSession));
+}
+
} // namespace
bool RoleGraph::addPrivilegesForBuiltinRole(const RoleName& roleName, PrivilegeVector* result) {
@@ -692,6 +697,9 @@ bool RoleGraph::addPrivilegesForBuiltinRole(const RoleName& roleName, PrivilegeV
} else {
return false;
}
+
+ // One of the roles has matched, otherwise we would have returned already.
+ addAnyBuiltinRolePrivileges(result);
return true;
}