Beispiel #1
0
std::string PolicyKey::toString(void) const {
    std::stringstream ss;
    ss << client().toString() << "\t"
       << user().toString() << "\t"
       << privilege().toString();
    return ss.str();
}
 void AuthorizationManager::grantInternalAuthorization() {
     Principal* internalPrincipal = new Principal("__system");
     _authenticatedPrincipals.add(internalPrincipal);
     ActionSet allActions;
     allActions.addAllActions();
     AcquiredPrivilege privilege(Privilege("*", allActions), internalPrincipal);
     Status status = acquirePrivilege(privilege);
     verify (status == Status::OK());
 }
Beispiel #3
0
 // TODO: remove this default implementation so that all Command subclasses have to explicitly
 // declare their own.
 void Command::addRequiredPrivileges(const std::string& dbname,
                                     const BSONObj& cmdObj,
                                     std::vector<Privilege>* out) {
     if (!requiresAuth()) {
         return;
     }
     ActionSet actions;
     actions.addAction(locktype() == WRITE ? ActionType::oldWrite : ActionType::oldRead);
     Privilege privilege(adminOnly() ? "admin" : dbname, actions);
     out->push_back(privilege);
 }