diff --git a/auth/cas/auth.php b/auth/cas/auth.php index f551c769c25..758f85054d8 100644 --- a/auth/cas/auth.php +++ b/auth/cas/auth.php @@ -114,8 +114,12 @@ class auth_plugin_cas extends auth_plugin_base { // Connection to CAS server $this->connectCAS(); + if($this->config->certificate_check && $this->config->certificate_path){ + phpCAS::setCasServerCACert($this->config->certificate_path); + }else{ // Don't try to validate the server SSL credentials phpCAS::setNoCasServerValidation(); + } // Gestion de la connection CAS si acc�s direct d'un ent ou autre if (phpCAS::checkAuthentication()) { @@ -248,6 +252,10 @@ if ( !is_object($PHPCAS_CLIENT) ) { $config->logoutcas = ''; if (!isset ($config->multiauth)) $config->multiauth = ''; + if (!isset ($config->certificate_check)) + $config->certificate_check = ''; + if (!isset ($config->certificate_path)) + $config->certificate_path = ''; // LDAP settings if (!isset($config->host_url)) { $config->host_url = ''; } @@ -290,6 +298,8 @@ if ( !is_object($PHPCAS_CLIENT) ) { set_config('proxycas', $config->proxycas, 'auth/cas'); set_config('logoutcas', $config->logoutcas, 'auth/cas'); set_config('multiauth', $config->multiauth, 'auth/cas'); + set_config('certificate_check', $config->certificate_check, 'auth/cas'); + set_config('certificate_path', $config->certificate_path, 'auth/cas'); // save LDAP settings set_config('host_url', $config->host_url, 'auth/cas'); set_config('ldapencoding', $config->ldapencoding, 'auth/cas'); diff --git a/auth/cas/config.html b/auth/cas/config.html index e1539692ff1..ab287f3ff20 100644 --- a/auth/cas/config.html +++ b/auth/cas/config.html @@ -48,6 +48,14 @@ $config->multiauth = ''; + if (!isset ($config->certificate_check)) + + $config->certificate_check = ''; + + if (!isset ($config->certificate_path)) + + $config->certificate_path = ''; + // set to defaults if undefined (LDAP) if (!isset($config->host_url)) @@ -364,6 +372,44 @@ if (!function_exists('ldap_connect')) { // Is php4-ldap really there? +