diff options
author | Antonin Kral <a.kral@bobek.cz> | 2012-06-05 19:50:34 +0200 |
---|---|---|
committer | Antonin Kral <a.kral@bobek.cz> | 2012-06-05 19:50:34 +0200 |
commit | 3703a282eca7e79e91f4bd651b1b861b76dc6c68 (patch) | |
tree | b69552c69c48ebc6899f7bbbe42843793a423237 /db/dbwebserver.cpp | |
parent | 61619b3142c1de8f60f91964ff2656054d4f11a6 (diff) | |
download | mongodb-3703a282eca7e79e91f4bd651b1b861b76dc6c68.tar.gz |
Imported Upstream version 2.0.6
Diffstat (limited to 'db/dbwebserver.cpp')
-rw-r--r-- | db/dbwebserver.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/db/dbwebserver.cpp b/db/dbwebserver.cpp index 78c09c0..eb19ba3 100644 --- a/db/dbwebserver.cpp +++ b/db/dbwebserver.cpp @@ -79,11 +79,10 @@ namespace mongo { } bool allowed( const char * rq , vector<string>& headers, const SockAddr &from ) { - if ( from.isLocalHost() ) - return true; - - if ( ! _webUsers->haveAdminUsers() ) + if ( from.isLocalHost() || !_webUsers->haveAdminUsers() ) { + cmdAuthenticate.authenticate( "admin", "RestUser", false ); return true; + } string auth = getHeader( rq , "Authorization" ); @@ -118,8 +117,10 @@ namespace mongo { r << ha2; string r1 = md5simpledigest( r.str() ); - if ( r1 == parms["response"] ) + if ( r1 == parms["response"] ) { + cmdAuthenticate.authenticate( "admin", user["user"].str(), user[ "readOnly" ].isBoolean() && user[ "readOnly" ].boolean() ); return true; + } } } |