class PasswordExpirationMiddleware implements HTTPMiddleware (View source)

Check if authenticated user has password expired.

Depending on the configuration there are following outcomes:

  • if the current requested URL whitelisted, then allow to process further
  • else if the change password form URL is set, then redirect to it
  • else set current user to null (deauthenticate for the current request) and process further

Traits

Provides extensions to this object to integrate it with standard config API methods.

Constants

SESSION_KEY_REDIRECT

Session key for persisting URL of the password change form

SESSION_KEY_ALLOW_CURRENT_REQUEST

Session key for persisting a flag allowing to process the current request without performing password expiration check

Properties

static private string[] $whitelisted_url_startswith

List of URL patterns allowed for users to visit where URL starts with the pattern

static private string $default_redirect

Where users with expired passwords get redirected by default when login form didn't register a custom one with {see SilverStripe\Security\AuthenticationMiddleware::setRedirect}

static private string[] $mimetypes_allowing_redirect

The list of mimetypes allowing a redirect to a change password form.

Methods

static Config_ForClass
config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

mixed
stat(string $name) deprecated

Get inherited config value

mixed
uninherited(string $name)

Gets the uninherited value for the given config option

$this
set_stat(string $name, mixed $value) deprecated

Update the config value for a given property

process(HTTPRequest $request, callable $delegate)

Generate response for the given request

static 
setRedirect(Session $session, string $url)

Preserve the password change URL in the session That URL is to be redirected to to force users change expired passwords

static 
allowCurrentRequest(Session $session)

Allow the current request to be finished without password expiration check

Details

static Config_ForClass config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

Return Value

Config_ForClass

mixed stat(string $name) deprecated

deprecated 5.0 Use ->config()->get() instead

Get inherited config value

Parameters

string $name

Return Value

mixed

mixed uninherited(string $name)

Gets the uninherited value for the given config option

Parameters

string $name

Return Value

mixed

$this set_stat(string $name, mixed $value) deprecated

deprecated 5.0 Use ->config()->set() instead

Update the config value for a given property

Parameters

string $name
mixed $value

Return Value

$this

HTTPResponse process(HTTPRequest $request, callable $delegate)

Generate response for the given request

Parameters

HTTPRequest $request
callable $delegate

Return Value

HTTPResponse

static setRedirect(Session $session, string $url)

Preserve the password change URL in the session That URL is to be redirected to to force users change expired passwords

Parameters

Session $session

Session where we persist the redirect URL

string $url

change password form address

static allowCurrentRequest(Session $session)

Allow the current request to be finished without password expiration check

Parameters

Session $session

Session where we persist the redirect URL