mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-13 21:26:28 +02:00
[feature/passwords] Use dependency injection for passwords driver helper
The passwords driver helper is now injected into the driver base instead of being manually loaded. PHPBB3-11610
This commit is contained in:
@ -6,6 +6,7 @@ services:
|
|||||||
class: phpbb_passwords_driver_bcrypt
|
class: phpbb_passwords_driver_bcrypt
|
||||||
arguments:
|
arguments:
|
||||||
- @config
|
- @config
|
||||||
|
- @passwords.driver_helper
|
||||||
calls:
|
calls:
|
||||||
- [set_name, [passwords.driver.bcrypt]]
|
- [set_name, [passwords.driver.bcrypt]]
|
||||||
tags:
|
tags:
|
||||||
@ -15,6 +16,7 @@ services:
|
|||||||
class: phpbb_passwords_driver_bcrypt_2y
|
class: phpbb_passwords_driver_bcrypt_2y
|
||||||
arguments:
|
arguments:
|
||||||
- @config
|
- @config
|
||||||
|
- @passwords.driver_helper
|
||||||
calls:
|
calls:
|
||||||
- [set_name, [passwords.driver.bcrypt_2y]]
|
- [set_name, [passwords.driver.bcrypt_2y]]
|
||||||
tags:
|
tags:
|
||||||
@ -24,6 +26,7 @@ services:
|
|||||||
class: phpbb_passwords_driver_salted_md5
|
class: phpbb_passwords_driver_salted_md5
|
||||||
arguments:
|
arguments:
|
||||||
- @config
|
- @config
|
||||||
|
- @passwords.driver_helper
|
||||||
calls:
|
calls:
|
||||||
- [set_name, [passwords.driver.salted_md5]]
|
- [set_name, [passwords.driver.salted_md5]]
|
||||||
tags:
|
tags:
|
||||||
@ -33,6 +36,7 @@ services:
|
|||||||
class: phpbb_passwords_driver_phpass
|
class: phpbb_passwords_driver_phpass
|
||||||
arguments:
|
arguments:
|
||||||
- @config
|
- @config
|
||||||
|
- @passwords.driver_helper
|
||||||
calls:
|
calls:
|
||||||
- [set_name, [passwords.driver.phpass]]
|
- [set_name, [passwords.driver.phpass]]
|
||||||
tags:
|
tags:
|
||||||
@ -45,6 +49,9 @@ services:
|
|||||||
tags:
|
tags:
|
||||||
- { name: service_collection, tag: passwords.driver }
|
- { name: service_collection, tag: passwords.driver }
|
||||||
|
|
||||||
|
passwords.driver_helper:
|
||||||
|
class: phpbb_passwords_driver_helper
|
||||||
|
|
||||||
passwords.manager:
|
passwords.manager:
|
||||||
class: phpbb_passwords_manager
|
class: phpbb_passwords_manager
|
||||||
arguments:
|
arguments:
|
||||||
|
@ -34,10 +34,10 @@ abstract class phpbb_passwords_driver_base implements phpbb_passwords_driver_int
|
|||||||
*
|
*
|
||||||
* @return string Hash prefix
|
* @return string Hash prefix
|
||||||
*/
|
*/
|
||||||
public function __construct(phpbb_config $config)
|
public function __construct(phpbb_config $config, phpbb_passwords_driver_helper $helper)
|
||||||
{
|
{
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
$this->helper = new phpbb_passwords_driver_helper($this);
|
$this->helper = $helper;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -20,23 +20,12 @@ if (!defined('IN_PHPBB'))
|
|||||||
*/
|
*/
|
||||||
class phpbb_passwords_driver_helper
|
class phpbb_passwords_driver_helper
|
||||||
{
|
{
|
||||||
/** @var phpbb_config */
|
|
||||||
protected $driver;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* base64 alphabet
|
* base64 alphabet
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
public $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor of passwords driver helper object
|
|
||||||
*/
|
|
||||||
public function __construct($driver)
|
|
||||||
{
|
|
||||||
$this->driver = $driver;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base64 encode hash
|
* Base64 encode hash
|
||||||
*
|
*
|
||||||
|
@ -26,12 +26,13 @@ class phpbb_passwords_manager_test extends PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
// Prepare dependencies for manager and driver
|
// Prepare dependencies for manager and driver
|
||||||
$config = new phpbb_config(array());
|
$config = new phpbb_config(array());
|
||||||
|
$driver_helper = new phpbb_passwords_driver_helper;
|
||||||
|
|
||||||
$this->passwords_drivers = array(
|
$this->passwords_drivers = array(
|
||||||
'passwords.driver.bcrypt' => new phpbb_passwords_driver_bcrypt($config),
|
'passwords.driver.bcrypt' => new phpbb_passwords_driver_bcrypt($config, $driver_helper),
|
||||||
'passwords.driver.bcrypt_2y' => new phpbb_passwords_driver_bcrypt_2y($config),
|
'passwords.driver.bcrypt_2y' => new phpbb_passwords_driver_bcrypt_2y($config, $driver_helper),
|
||||||
'passwords.driver.salted_md5' => new phpbb_passwords_driver_salted_md5($config),
|
'passwords.driver.salted_md5' => new phpbb_passwords_driver_salted_md5($config, $driver_helper),
|
||||||
'passwords.driver.phpass' => new phpbb_passwords_driver_phpass($config),
|
'passwords.driver.phpass' => new phpbb_passwords_driver_phpass($config, $driver_helper),
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($this->passwords_drivers as $key => $driver)
|
foreach ($this->passwords_drivers as $key => $driver)
|
||||||
|
Reference in New Issue
Block a user