Commit c27761cb authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

ShibService : correction nécessaire pour tester si un utilisateur est authentifié ou non.

parent 7f8d9248
Pipeline #4285 failed with stage
in 9 seconds
...@@ -85,12 +85,24 @@ EOS; ...@@ -85,12 +85,24 @@ EOS;
// ENSUITE activation éventuelle de l'usurpation // ENSUITE activation éventuelle de l'usurpation
$this->handleUsurpation(); $this->handleUsurpation();
if (! $this->isAuthenticated()) {
return null;
}
$this->authenticatedUser = $this->createShibUserFromServerArrayData(); $this->authenticatedUser = $this->createShibUserFromServerArrayData();
} }
return $this->authenticatedUser; return $this->authenticatedUser;
} }
/**
* @return bool
*/
private function isAuthenticated()
{
return (bool) $this->getServerArrayVariable('REMOTE_USER');
}
/** /**
* @return boolean * @return boolean
*/ */
...@@ -351,6 +363,9 @@ EOS; ...@@ -351,6 +363,9 @@ EOS;
*/ */
public function simulateAuthenticatedUser(ShibUser $shibUser, $keyForId = 'supannEmpId') public function simulateAuthenticatedUser(ShibUser $shibUser, $keyForId = 'supannEmpId')
{ {
// 'REMOTE_USER' est utilisé pour savoir si un utilisateur est authentifié ou non
$this->setServerArrayVariable('REMOTE_USER', $shibUser->getEppn());
// // on s'assure que tous les attributs obligatoires ont une valeur // // on s'assure que tous les attributs obligatoires ont une valeur
// foreach ($this->getShibbolethRequiredAttributes() as $requiredAttribute) { // foreach ($this->getShibbolethRequiredAttributes() as $requiredAttribute) {
// // un pipe permet d'exprimer un OU logique, ex: 'supannEmpId|supannEtuId' // // un pipe permet d'exprimer un OU logique, ex: 'supannEmpId|supannEtuId'
...@@ -452,8 +467,8 @@ EOS; ...@@ -452,8 +467,8 @@ EOS;
'options' => [ 'options' => [
'route' => '/connexion', 'route' => '/connexion',
'defaults' => [ 'defaults' => [
'controller' => 'zfcuser', // NB: lorsque l'auth Shibboleth est activée, la page propose 'controller' => 'zfcuser',
'action' => 'login', // 2 possibilités d'auth : LDAP et Shibboleth. 'action' => 'login',
], ],
], ],
], ],
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment