Status AuthorizationManager::buildPrivilegeSet(const std::string& dbname, const PrincipalName& principal, const BSONObj& privilegeDocument, PrivilegeSet* result) { if (!privilegeDocument.hasField(ROLES_FIELD_NAME)) { // Old-style (v2.2 and prior) privilege document return _buildPrivilegeSetFromOldStylePrivilegeDocument(dbname, principal, privilegeDocument, result); } else { return _buildPrivilegeSetFromExtendedPrivilegeDocument( dbname, principal, privilegeDocument, result); } }
Status AuthorizationManager::buildPrivilegeSet(const std::string& dbname, const UserName& user, const BSONObj& privilegeDocument, PrivilegeSet* result) const { if (!privilegeDocument.hasField(ROLES_FIELD_NAME)) { // Old-style (v2.2 and prior) privilege document if (AuthorizationManager::getSupportOldStylePrivilegeDocuments()) { return _buildPrivilegeSetFromOldStylePrivilegeDocument(dbname, user, privilegeDocument, result); } else { return _oldPrivilegeFormatNotSupported(); } } else { return _buildPrivilegeSetFromExtendedPrivilegeDocument( dbname, user, privilegeDocument, result); } }