| | |
| | | if($port != 0) { |
| | | $url .= ':'.$port; |
| | | } |
| | | |
| | | $url .= $_SERVER['REQUEST_URI']; |
| | | |
| | | if(isset($_GET['ticket'])) { |
| | | $pos = max( |
| | | strrpos($url, '?ticket='), |
| | | strrpos($url, '&ticket=') |
| | | ); |
| | | $url = substr($url, 0, $pos); |
| | | } |
| | | |
| | | return $url; |
| | | } |
| | |
| | | } |
| | | |
| | | public function logout($returnUrl = NULL) { |
| | | session_start(); |
| | | @session_start(); |
| | | if($this->isAuthenticated()) { |
| | | unset($_SESSION[$this->sessionName]); |
| | | header('Location: '.$this->logoutUrl($returnUrl)); |
| | |
| | | } |
| | | |
| | | public function authenticate() { |
| | | session_start(); |
| | | @session_start(); |
| | | if($this->isAuthenticated()) { |
| | | return $_SESSION[$this->sessionName]; |
| | | } elseif(isset($_REQUEST['ticket'])) { |
| | |
| | | } |
| | | } |
| | | } catch(Exception $e) { |
| | | throw new JasigException('Authentication error: CAS server' |
| | | .' response invalid - parse error', 0, $e); |
| | | } finally { |
| | | libxml_clear_errors(); |
| | | libxml_disable_entity_loader($xmlEntityLoader); |
| | | libxml_use_internal_errors($xmlInternalErrors); |
| | | throw new JasigException('Authentication error: CAS server' |
| | | .' response invalid - parse error', 0, $e); |
| | | } |
| | | libxml_clear_errors(); |
| | | libxml_disable_entity_loader($xmlEntityLoader); |
| | | libxml_use_internal_errors($xmlInternalErrors); |
| | | |
| | | $failure = $xml->getElementsByTagName('authenticationFailure'); |
| | | $success = $xml->getElementsByTagName('authenticationSuccess'); |