00001 <?php 00002 // Example for proxied service with session support 00003 00004 // Load the settings from the central config file 00005 include_once('config.php'); 00006 // Load the CAS lib 00007 include_once($phpcas_path.'/CAS.php'); 00008 00009 // Uncomment to enable debugging 00010 phpCAS::setDebug(); 00011 00012 // Initialize phpCAS 00013 phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context); 00014 00015 // For production use set the CA certificate that is the issuer of the cert 00016 // on the CAS server and uncomment the line below 00017 // phpCAS::setCasServerCACert($cas_server_ca_cert_path); 00018 00019 // For quick testing you can disable SSL validation of the CAS server. 00020 // THIS SETTING IS NOT RECOMMENDED FOR PRODUCTION. 00021 // VALIDATING THE CAS SERVER IS CRUCIAL TO THE SECURITY OF THE CAS PROTOCOL! 00022 phpCAS::setNoCasServerValidation(); 00023 00024 // force CAS authentication 00025 phpCAS::forceAuthentication(); 00026 00027 print '<h1>I am a service that can be proxied.</h1>'; 00028 00029 // at this step, the user has been authenticated by the CAS server 00030 // and the user's login name can be read with phpCAS::getUser(). 00031 include 'script_info.php'; 00032 00033 // for this test, simply print that the authentication was successfull 00034 echo '<p>The user\'s login is <b>'.phpCAS::getUser().'</b>.</p>'; 00035 00036 // increment the number of requests of the session and print it 00037 if (!isset($_SESSION['n'])) 00038 $_SESSION['n'] = 0; 00039 echo '<p>request #'.(++$_SESSION['n']).'</p>'; 00040 00041 ?>