From 38fc83fb70a87f0f8a1b4bc0f4753e3063749522 Mon Sep 17 00:00:00 2001 From: xue <> Date: Wed, 2 Aug 2006 01:06:16 +0000 Subject: Fixed an issue in TAuthManager about authentication order. --- framework/Security/TAuthManager.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'framework/Security') diff --git a/framework/Security/TAuthManager.php b/framework/Security/TAuthManager.php index ee01d5f3..e378b51e 100644 --- a/framework/Security/TAuthManager.php +++ b/framework/Security/TAuthManager.php @@ -195,10 +195,6 @@ class TAuthManager extends TModule public function onAuthenticate($param) { $application=$this->getApplication(); - if($this->hasEventHandler('OnAuthenticate')) - $this->raiseEvent('OnAuthenticate',$this,$application); - if($application->getUser()!==null) - return; if(($session=$application->getSession())===null) throw new TConfigurationException('authmanager_session_required'); @@ -206,6 +202,10 @@ class TAuthManager extends TModule $sessionInfo=$session->itemAt($this->generateUserSessionKey()); $user=$this->_userManager->getUser(null)->loadFromString($sessionInfo); $application->setUser($user); + + // event handler gets a chance to do further auth work + if($this->hasEventHandler('OnAuthenticate')) + $this->raiseEvent('OnAuthenticate',$this,$application); } /** -- cgit v1.2.3