com\setasign\SetaSite\Controller\Backend

User Class Controller Json

File: /SetaSite/src/Controller/Backend/User.php

Class hierarchy

Implements

  • \com\setasign\SetaFramework\Controller\ControllerInterface

Summary

Constants

EVENT_AFTER_LOGIN

public const User::EVENT_AFTER_LOGIN = 'setasite.backend_user_controller.after_login'

Will be called after the user is logged in.


Type: UserEvent
extraParams:
'session' => Session

EVENT_AFTER_LOGOUT

public const User::EVENT_AFTER_LOGOUT = 'setasite.backend_user_controller.after_logout'

Will be called after the user logged out.


Type: UserEvent
Type: UserEvent

EVENT_BEFORE_LOGIN

public const User::EVENT_BEFORE_LOGIN = 'setasite.backend_user_controller.before_login'

Will be called before the user is logged in but after username and password check.


Type: UserEvent
Cancelable: If the event is canceled, the user will not login
extraParams:
'request' => ServerRequest

EVENT_BEFORE_LOGOUT

public const User::EVENT_BEFORE_LOGOUT = 'setasite.backend_user_controller.before_logout'

Will be called before the user logged out.


Type: UserEvent
extraParams:
'session' => Session

EVENT_CHECK_LOGIN

public const User::EVENT_CHECK_LOGIN = 'setasite.backend_user_controller.check_login'

Will be called after the usual login checks are over.


Type: UserEvent
Cancelable: Can be canceled by throwing a InvalidLoginException.

Properties

$data

protected mixed \com\setasign\SetaFramework\Controller\AbstractJsonController::$data

Result data to convert to JSON.

$encodingOptions

protected int \com\setasign\SetaFramework\Controller\AbstractJsonController::$encodingOptions = 79

Default JSON encoding is performed with the following options, which produces RFC4627-compliant JSON, capable of embedding into HTML.

default value of:

JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT | JSON_UNESCAPED_SLASHES

$httpFactory

protected \com\setasign\SetaFramework\Http\HttpFactoryInterface \com\setasign\SetaFramework\Controller\AbstractController::$httpFactory

$response

protected ?\Psr\Http\Message\ResponseInterface \com\setasign\SetaFramework\Controller\AbstractController::$response

$sessionContext

$textContentType

protected bool \com\setasign\SetaFramework\Controller\AbstractJsonController::$textContentType = false

If true the response contentType will be 'text/html; charset=utf-8' instead of 'application/json'.

Needed for the IE. The IE will try to download 'application/json' responses from iframes.


Methods

__construct()

public User::__construct (
\com\setasign\SetaSite\SetaSite $setasite,
\com\setasign\SetaSite\User\Users $users,
\com\setasign\SetaSite\SessionContext $sessionContext,
\com\setasign\SetaFramework\Http\HttpFactoryInterface $httpFactory
)
Parameters
$setasite : \com\setasign\SetaSite\SetaSite
 
$users : \com\setasign\SetaSite\User\Users
 
$sessionContext : \com\setasign\SetaSite\SessionContext
 
$httpFactory : \com\setasign\SetaFramework\Http\HttpFactoryInterface
 

getParam()

public \com\setasign\SetaFramework\Controller\AbstractController::getParam (
string $name,
mixed $default = null
): ?mixed

Returns a param if it exists otherwise this will return $default

Parameters
$name : string
 
$default : mixed
 

getParams()

public \com\setasign\SetaFramework\Controller\AbstractController::getParams (
void
): array

Get all existing params

getRequest()

protected AbstractBackendJsonController::getRequest (
void
): \com\setasign\SetaFramework\Request\ServerRequest

getResponse()

public \com\setasign\SetaFramework\Controller\AbstractController::getResponse (
void
): \Psr\Http\Message\ResponseInterface

getSession()

protected AbstractBackendJsonController::getSession (
void
): \com\setasign\SetaFramework\Session\SessionInterface

getUserPropertiesAction()

No login required!

Parameters
$userProperties : \com\setasign\SetaSite\Config\UserProperties
 

keepAliveAction()

public User::keepAliveAction (
void
): void

keepSessionAliveAction()

public User::keepSessionAliveAction (
void
): void

No login required!

loginAction()

public User::loginAction (
\com\setasign\SetaFramework\EventManager\EventManager $eventManager,
LoginTryLimiter $loginTryLimiter,
BackendSsoHelper $ssoHelper,
\com\setasign\SetaSite\Module\ModuleManager $moduleManager
): void
Parameters
$eventManager : \com\setasign\SetaFramework\EventManager\EventManager
 
$loginTryLimiter : LoginTryLimiter
 
$ssoHelper : BackendSsoHelper
 
$moduleManager : \com\setasign\SetaSite\Module\ModuleManager
 
Exceptions

Throws \com\setasign\SetaSite\Exception

Throws \com\setasign\SetaSite\User\InvalidLoginException

Throws \com\setasign\SetaSite\Controller\MultiLangException

Throws \com\setasign\SetaSite\User\UnknownUserException

logoutAction()

public User::logoutAction (
\com\setasign\SetaFramework\EventManager\EventManager $eventManager
): void
Parameters
$eventManager : \com\setasign\SetaFramework\EventManager\EventManager
 
Exceptions

Throws \com\setasign\SetaSite\User\UnknownUserException

renderView()

protected \com\setasign\SetaFramework\Controller\AbstractJsonController::renderView (
void
): void
Exceptions

Throws \JsonException

resetResponse()

public \com\setasign\SetaFramework\Controller\AbstractController::resetResponse (
void
): void

setParam()

public \com\setasign\SetaFramework\Controller\AbstractController::setParam (
string $name,
mixed $value
): \com\setasign\SetaFramework\Controller\ControllerInterface

Sets a param

Parameters
$name : string
 
$value : mixed
 

setParams()

public \com\setasign\SetaFramework\Controller\AbstractController::setParams (
array $params
): \com\setasign\SetaFramework\Controller\ControllerInterface

Set a array of params

Note: The params will be merged with the existing params!!

Parameters
$params : array
 

setPasswordAction()

setSystemLanguageAction()

public User::setSystemLanguageAction (
void
): void
Exceptions

Throws \com\setasign\SetaSite\Exception

ssoAuthAction()

public User::ssoAuthAction (
\com\setasign\SetaFramework\Application\ApplicationConfig $config,
BackendSsoHelper $ssoHelper
): void

Login into the sso IdP

Parameters
$config : \com\setasign\SetaFramework\Application\ApplicationConfig
 
$ssoHelper : BackendSsoHelper
 

ssoLoginAction()

public User::ssoLoginAction (
BackendSsoHelper $ssoHelper,
\com\setasign\SetaFramework\EventManager\EventManager $eventManager,
\com\setasign\SetaSite\Module\ModuleManager $moduleManager
): void
Parameters
$ssoHelper : BackendSsoHelper
 
$eventManager : \com\setasign\SetaFramework\EventManager\EventManager
 
$moduleManager : \com\setasign\SetaSite\Module\ModuleManager
 
Exceptions

Throws \com\setasign\SetaSite\Exception

Throws \com\setasign\SetaSite\Controller\MultiLangException

Throws \com\setasign\SetaSite\User\UnknownUserException