mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
Allowing same Authenticate object to be setup with different settings.
This commit is contained in:
parent
23519e1988
commit
87683b10f1
2 changed files with 25 additions and 0 deletions
|
@ -776,6 +776,10 @@ class AuthComponent extends Component {
|
|||
unset($config[AuthComponent::ALL]);
|
||||
}
|
||||
foreach ($config as $class => $settings) {
|
||||
if (!empty($settings['className'])) {
|
||||
$class = $settings['className'];
|
||||
unset($settings['className']);
|
||||
}
|
||||
list($plugin, $class) = pluginSplit($class, true);
|
||||
$className = $class . 'Authenticate';
|
||||
App::uses($className, $plugin . 'Controller/Component/Auth');
|
||||
|
|
|
@ -590,6 +590,27 @@ class AuthComponentTest extends CakeTestCase {
|
|||
$this->assertEquals('AuthUser', $result->settings['userModel']);
|
||||
}
|
||||
|
||||
/**
|
||||
* test defining the same Authenticate object but with different password hashers
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testSameAuthenticateWithDifferentHashers() {
|
||||
$this->Controller->Auth->authenticate = array(
|
||||
'FormSimple' => array('className' => 'Form', 'passwordHasher' => 'Simple'),
|
||||
'FormBlowfish' => array('className' => 'Form', 'passwordHasher' => 'Blowfish'),
|
||||
);
|
||||
|
||||
$objects = $this->Controller->Auth->constructAuthenticate();
|
||||
$this->assertEquals(2, count($objects));
|
||||
|
||||
$this->assertInstanceOf('FormAuthenticate', $objects[0]);
|
||||
$this->assertInstanceOf('FormAuthenticate', $objects[1]);
|
||||
|
||||
$this->assertInstanceOf('SimplePasswordHasher', $objects[0]->passwordHasher());
|
||||
$this->assertInstanceOf('BlowfishPasswordHasher', $objects[1]->passwordHasher());
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that deny always takes precedence over allow
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue