diff options
author | Andy Schwerin <schwerin@10gen.com> | 2013-10-05 12:36:03 -0400 |
---|---|---|
committer | Andy Schwerin <schwerin@10gen.com> | 2013-10-05 17:39:16 -0400 |
commit | ee34eb5c05c5b8072dc1354845ed34989596456b (patch) | |
tree | 600b18fcbf22dfccf64496f5a3dc02636e56e50f /src/mongo/db/auth/user.cpp | |
parent | 07c18d3c1147bd11ea50902542432a178f4f685f (diff) | |
download | mongo-ee34eb5c05c5b8072dc1354845ed34989596456b.tar.gz |
SERVER-10670 Add setPrivileges and setRoleData methods to User.
Diffstat (limited to 'src/mongo/db/auth/user.cpp')
-rw-r--r-- | src/mongo/db/auth/user.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/db/auth/user.cpp b/src/mongo/db/auth/user.cpp index 0dcc7d3ff76..03ef82bbe1b 100644 --- a/src/mongo/db/auth/user.cpp +++ b/src/mongo/db/auth/user.cpp @@ -73,6 +73,22 @@ namespace mongo { _credentials = credentials; } + void User::setRoleData(const std::vector<User::RoleData>& roles) { + _roles.clear(); + for (size_t i = 0; i < roles.size(); ++i) { + const User::RoleData& role = roles[i]; + _roles[role.name] = role; + } + } + + void User::setPrivileges(const PrivilegeVector& privileges) { + _privileges.clear(); + for (size_t i = 0; i < privileges.size(); ++i) { + const Privilege& privilege = privileges[i]; + _privileges[privilege.getResourcePattern()] = privilege; + } + } + void User::addRole(const RoleName& roleName) { RoleData& role = _roles[roleName]; if (role.name.empty()) { |