void AuthorizationManager::grantInternalAuthorization(const std::string& principalName) { Principal* principal = new Principal(PrincipalName(principalName, "local")); ActionSet actions; actions.addAllActions(); addAuthorizedPrincipal(principal); fassert(16581, acquirePrivilege(Privilege(PrivilegeSet::WILDCARD_RESOURCE, actions), principal->getName()).isOK()); }
Status authenticateAndAuthorizePrincipal(const std::string& principalName, const std::string& dbname, const BSONObj& userObj) { AuthorizationManager* authorizationManager = ClientBasic::getCurrent()->getAuthorizationManager(); Principal* principal = new Principal(PrincipalName(principalName, dbname)); authorizationManager->addAuthorizedPrincipal(principal); return authorizationManager->acquirePrivilegesFromPrivilegeDocument(dbname, principal, userObj); }