ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
CAS_AuthenticationException Class Reference

This interface defines methods that allow proxy-authenticated service handlers to interact with phpCAS. More...

+ Inheritance diagram for CAS_AuthenticationException:
+ Collaboration diagram for CAS_AuthenticationException:

Public Member Functions

 __construct ($client, $failure, $cas_url, $no_response, $bad_response='', $cas_response='', $err_code='', $err_msg='')
 This method is used to print the HTML output when the user was not authenticated. More...
 

Detailed Description

This interface defines methods that allow proxy-authenticated service handlers to interact with phpCAS.

Proxy service handlers must implement this interface as well as call phpCAS::initializeProxiedService($this) at some point in their implementation.

While not required, proxy-authenticated service handlers are encouraged to implement the CAS_ProxiedService_Testable interface to facilitate unit testing.

Definition at line 48 of file AuthenticationException.php.

Constructor & Destructor Documentation

◆ __construct()

CAS_AuthenticationException::__construct (   $client,
  $failure,
  $cas_url,
  $no_response,
  $bad_response = '',
  $cas_response = '',
  $err_code = '',
  $err_msg = '' 
)

This method is used to print the HTML output when the user was not authenticated.

Parameters
CAS_Client$clientphpcas client
string$failurethe failure that occured
string$cas_urlthe URL the CAS server was asked for
bool$no_responsethe response from the CAS server (other parameters are ignored if TRUE)
bool$bad_responsebad response from the CAS server ($err_code and $err_msg ignored if TRUE)
string$cas_responsethe response of the CAS server
int$err_codethe error code given by the CAS server
string$err_msgthe error message given by the CAS server

Definition at line 68 of file AuthenticationException.php.

References $_SERVER, $client, $failure, $lang, $messages, array, CAS_VERSION_1_0, CAS_VERSION_2_0, CAS_VERSION_3_0, phpCAS\trace(), phpCAS\traceBegin(), and phpCAS\traceExit().

70  {
71  $messages = array();
73  $lang = $client->getLangObj();
74  $client->printHTMLHeader($lang->getAuthenticationFailed());
75  printf(
76  $lang->getYouWereNotAuthenticated(),
77  htmlentities($client->getURL()),
78  isset($_SERVER['SERVER_ADMIN']) ? $_SERVER['SERVER_ADMIN']:''
79  );
80  phpCAS::trace($messages[] = 'CAS URL: '.$cas_url);
81  phpCAS::trace($messages[] = 'Authentication failure: '.$failure);
82  if ( $no_response ) {
83  phpCAS::trace($messages[] = 'Reason: no response from the CAS server');
84  } else {
85  if ( $bad_response ) {
86  phpCAS::trace($messages[] = 'Reason: bad response from the CAS server');
87  } else {
88  switch ($client->getServerVersion()) {
89  case CAS_VERSION_1_0:
90  phpCAS::trace($messages[] = 'Reason: CAS error');
91  break;
92  case CAS_VERSION_2_0:
93  case CAS_VERSION_3_0:
94  if ( empty($err_code) ) {
95  phpCAS::trace($messages[] = 'Reason: no CAS error');
96  } else {
97  phpCAS::trace($messages[] = 'Reason: ['.$err_code.'] CAS error: '.$err_msg);
98  }
99  break;
100  }
101  }
102  phpCAS::trace($messages[] = 'CAS response: '.$cas_response);
103  }
104  $client->printHTMLFooter();
106 
107  parent::__construct(implode("\n", $messages));
108  }
$failure
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
const CAS_VERSION_1_0
CAS version 1.0.
Definition: CAS.php:74
static traceExit()
This method is used to indicate the end of the execution of the program.
Definition: CAS.php:661
$client
Definition: resume.php:9
const CAS_VERSION_3_0
CAS version 3.0.
Definition: CAS.php:82
static trace($str)
This method is used to log something in debug mode.
Definition: CAS.php:579
const CAS_VERSION_2_0
Definition: CAS.php:78
Create styles array
The data for the language used.
$messages
Definition: en-x-test.php:7
static traceBegin()
This method is used to indicate the start of the execution of a function in debug mode...
Definition: CAS.php:591
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: