summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorxue <>2006-08-02 01:06:16 +0000
committerxue <>2006-08-02 01:06:16 +0000
commit38fc83fb70a87f0f8a1b4bc0f4753e3063749522 (patch)
treeae8d0ab570dc1f33bb4a4a1b93d8d23d032c72f3 /framework
parent8ab3ff590bd67acf666c6f3e2c71032424dd93ce (diff)
Fixed an issue in TAuthManager about authentication order.
Diffstat (limited to 'framework')
-rw-r--r--framework/Security/TAuthManager.php8
-rw-r--r--framework/Web/THttpResponse.php15
2 files changed, 12 insertions, 11 deletions
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);
}
/**
diff --git a/framework/Web/THttpResponse.php b/framework/Web/THttpResponse.php
index 99d8daa5..b6b675c1 100644
--- a/framework/Web/THttpResponse.php
+++ b/framework/Web/THttpResponse.php
@@ -314,14 +314,15 @@ class THttpResponse extends TModule implements ITextWriter
protected function sendContentTypeHeader()
{
$charset=$this->getCharset();
- if(empty($charset) && ($globalization=$this->getApplication()->getGlobalization(false))!==null)
+ if($charset==='' && ($globalization=$this->getApplication()->getGlobalization(false))!==null)
$charset=$globalization->getCharset();
-
- $contentType=empty($this->_contentType)?'text/html':$this->_contentType;
- $charset=empty($charset)?'UTF-8':$charset;
-
- //default is "Content-Type: text/html;charset=UTF-8"
- $this->appendHeader('Content-Type: '.$contentType.';charset='.$charset);
+ if($charset!=='')
+ {
+ $contentType=$this->_contentType===null?'text/html':$this->_contentType;
+ $this->appendHeader('Content-Type: '.$contentType.';charset='.$charset);
+ }
+ else if($this->_contentType!==null)
+ $this->appendHeader('Content-Type: '.$this->_contentType.';charset=UTF-8');
}
/**