PhpRiot
Follow phpriot on Twitter
Sponsored Link
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store
Free iPad/iPhone App
Available on the App Store

  • PHP manual
  • Zend Framework manual
  • Smarty manual
  • PHP articles
  • PHP training

MongoDB::authenticate

(PECL mongo >=1.0.1)

MongoDB::authenticateLog in to this database

Description

public array MongoDB::authenticate ( string $username , string $password )

This method causes its connection to be authenticated. If authentication is enabled for the database server (it's not, by default), you need to log in before the database will allow you to do anything.

In general, you should use the authenticate built into Mongo::__construct() in preference to this method. If you authenticate on connection and the connection drops and reconnects during your session, you'll be reauthenticated. If you manually authenticated using this method and the connection drops, you'll have to call this method again once you're reconnected.

This method is identical to running:

<?php

$salted 
"${username}:mongo:${password}";
$hash md5($salted);

$nonce $db->command(array("getnonce" => 1));

$saltedHash md5($nonce["nonce"]."${username}${hash}");

$result $db->command(array("authenticate" => 1
    
"user" => $username,
    
"nonce" => $nonce["nonce"],
    
"key" => $saltedHash
));

?>

Once a connection has been authenticated, it can only be un-authenticated by using the "logout" database command:

<?php

$db
->command(array("logout" => 1));

?>

Parameters

username

The username.

password

The password (in plaintext).

Return Values

Returns database response. If the login was successful, it will return

<?php
array("ok" => 1);
?>
If something went wrong, it will return
<?php
array("ok" => 0"errmsg" => "auth fails");
?>
("auth fails" could be another message, depending on database version and what when wrong).

See Also

MongoDB core docs on » authenticate.

PHP Manual