This interface needs to be implemented by all account modules which manage passwords.

It allows LAM to provide central password changes.

package | modules

### Methods

## This method specifies if a module manages password attributes.

    managesPasswordAttributes() : boolean

The module alias will then appear as option in the GUI.
If the module only wants to get notified about password changes then return false.

### Returns

`boolean`true if this module manages password attributes

## This function is called whenever the password should be changed.

    passwordChangeRequested(String $password, array $modules, boolean $forcePasswordChange) : array

Account modules must change their password attributes only if the modules list contains their module name.

### Parameters

#### $password

`String`

new password

#### $modules

`array`

list of modules for which the password should be changed

#### $forcePasswordChange

`boolean`

force the user to change his password at next login

### Returns

`array`list of error messages if any as parameter array for StatusMessage e.g. return arrray(array('ERROR', 'Password change failed.'))

## Specifies if this module supports to force that a user must change his password on next login.

    supportsForcePasswordChange() : boolean

### Returns

`boolean`force password change supported