示例#1
0
    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());
    }
示例#2
0
 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);
 }