ソースを参照

Avoid unnecessary overhead if user record already available from session.

ADmad 13 年 前
コミット
3db632732c

+ 6 - 5
lib/Cake/Controller/Component/AuthComponent.php

@@ -667,6 +667,12 @@ class AuthComponent extends Component {
  * @return boolean true if a user can be found, false if one cannot.
  */
 	protected function _getUser() {
+		$user = $this->user();
+		if ($user) {
+			$this->Session->delete('Auth.redirect');
+			return true;
+		}
+
 		if (empty($this->_authenticateObjects)) {
 			$this->constructAuthenticate();
 		}
@@ -678,11 +684,6 @@ class AuthComponent extends Component {
 			}
 		}
 
-		$user = $this->user();
-		if ($user) {
-			$this->Session->delete('Auth.redirect');
-			return true;
-		}
 		return false;
 	}
 

+ 1 - 0
lib/Cake/Test/Case/Controller/Component/AuthComponentTest.php

@@ -1368,6 +1368,7 @@ class AuthComponentTest extends CakeTestCase {
 		$_SERVER['PHP_AUTH_USER'] = 'mariano';
 		$_SERVER['PHP_AUTH_PW'] = 'cake';
 
+		AuthComponent::$sessionKey = false;
 		$this->Auth->authenticate = array(
 			'Basic' => array('userModel' => 'AuthUser')
 		);