require_once $phpcas_path . '/CAS.php';
// Enable debugging
phpCAS::setDebug();
// Enable verbose error messages. Disable in production!
phpCAS::setVerbose(true);
// Initialize phpCAS
phpCAS::proxy(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context);
// For production use set the CA certificate that is the issuer of the cert
// on the CAS server and uncomment the line below
// phpCAS::setCasServerCACert($cas_server_ca_cert_path);
// For quick testing you can disable SSL validation of the CAS server.
// THIS SETTING IS NOT RECOMMENDED FOR PRODUCTION.
// VALIDATING THE CAS SERVER IS CRUCIAL TO THE SECURITY OF THE CAS PROTOCOL!
phpCAS::setNoCasServerValidation();
// set PGT storage to file in plain format in the same directory as session files
phpCAS::setPGTStorageDB($db, $db_user, $db_password, $db_table);
// force CAS authentication
phpCAS::forceAuthentication();
// at this step, the user has been authenticated by the CAS server
// and the user's login name can be read with phpCAS::getUser().
// moreover, a PGT was retrieved from the CAS server that will
// permit to gain accesses to new services.
?>
<html>
  <head>
    <title>phpCAS proxy example with PGT storage to a database</title>
    <link rel="stylesheet" type='text/css' href='example.css'/>
  </head>
  <body>
    <h1>phpCAS proxy example with PGT storage to file</h1>
    <?php 
Ejemplo n.º 2
0
 private function setPTGStorage()
 {
     switch (strtolower($this->pgt_storage_mode)) {
         case 'file':
             phpCAS::setPGTStorageFile(session_save_path());
             break;
         case 'db':
             $dbconfig = ConfService::getConfStorageImpl();
             /**
              * support only for mySQL
              */
             if ($dbconfig instanceof sqlConfDriver) {
                 if (!empty($dbconfig->sqlDriver["username"])) {
                     $db_username = $dbconfig->sqlDriver["username"];
                     $db_password = $dbconfig->sqlDriver["password"];
                     $db_database = "mysql:" . "dbname=" . $dbconfig->sqlDriver["database"] . ";host=" . $dbconfig->sqlDriver["host"];
                     $db_table = "ajxp_cas_pgt";
                     AJXP_Logger::info(__CLASS__, __FUNCTION__, $db_database);
                     phpCAS::setPGTStorageDB($db_database, $db_username, $db_password, $db_table, "");
                 }
             }
             break;
         default:
             break;
     }
 }
Ejemplo n.º 3
0
<?php

//
// phpCAS proxy client with PGT storage to database
//
// import phpCAS lib
include_once 'CAS.php';
// set debug mode
phpCAS::setDebug();
// initialize phpCAS
phpCAS::proxy(CAS_VERSION_2_0, 'sso-cas.univ-rennes1.fr', 443, '');
// no SSL validation for the CAS server
phpCAS::setNoCasServerValidation();
// set PGT storage to file in XML format in the same directory as session files
phpCAS::setPGTStorageDB('user', 'password', '', '', 0, '', '');
// force CAS authentication
phpCAS::forceAuthentication();
// at this step, the user has been authenticated by the CAS server
// and the user's login name can be read with phpCAS::getUser().
// moreover, a PGT was retrieved from the CAS server that will
// permit to gain accesses to new services.
$service = 'http://phpcas-test.univ-rennes1.fr/examples/example_service.php';
?>
<html>
  <head>
    <title>phpCAS proxy example with PGT storage to database</title>
  </head>
  <body>
    <h1>phpCAS proxy example with PGT storage to database</h1>
    <p>the user's login is <b><?php 
echo phpCAS::getUser();