[ZF2.2] Http authentifiction - Digest ne marche pas
Bonjour, j'ai mis en place une authentification http pour protéger un dossier, la méthode basique (non cryptée) fonctionne mais digest (crypté en md5) ne fonctionne pas, pour crypter mon mot de passe j'ai utilisé :
Code:
1 2 3
| <?php
echo md5('mon_mot_de_passe');
?> |
que j'ai ensuite copié dans mon fichier password :
Code:
identifiant:Administration:mont_mot_de_passe_crypté
Voici dans mon fichier Module.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| class Module {
public function onBootstrap(MvcEvent $e) {
$sharedEvents=$e->getApplication()->getEventManager()->getSharedManager();
$sharedEvents->attach(__NAMESPACE__, MvcEvent::EVENT_DISPATCH, array($this, 'authHttp'));
}
public function authHttp(MvcEvent $e) {
$config=array(
'accept_schemes'=>'basic digest',
'realm'=>'Administration',
'digest_domains'=>'/admin',
'nonce_timeout'=>3600
);
$adapter=new Http($config);
//
$basicResolver=new FileResolver();
$basicResolver->setFile(__DIR__.'/password');
$digestResolver=new FileResolver();
$digestResolver->setFile(__DIR__.'/password');
$adapter->setBasicResolver($basicResolver);
$adapter->setDigestResolver($digestResolver);
$request=$e->getRequest();
$response=$e->getResponse();
assert($request instanceof \Zend\Http\Request);
assert($response instanceof \Zend\Http\Response);
$adapter->setRequest($request);
$adapter->setResponse($response);
$result=$adapter->authenticate();
if(!$result->isValid()) {
$response->setContent('Access denied');
$response->setStatusCode(\Zend\Http\Response::STATUS_CODE_401);
$e->setResult($response);
return FALSE;
} else {
return TRUE;
}
}
[...]
} |
Merci de votre aide !