MvcPropertyMappingConfigurationService implements SingletonInterface

This is a Service which can generate a request hash and check whether the currently given arguments fit to the request hash.

It is used when forms are generated and submitted: After a form has been generated, the method "generateRequestHash" is called with the names of all form fields. It cleans up the array of form fields and creates another representation of it, which is then serialized and hashed.

Both serialized form field list and the added hash form the request hash, which will be sent over the wire (as an argument __hmac).

On the validation side, the validation happens in two steps:

  1. Check if the request hash is consistent (the hash value fits to the serialized string)
  2. Check that all GET/POST parameters submitted occur inside the form field list of the request hash.

Note: It is crucially important that a private key is computed into the hash value! This is done inside the HashService.

Internal

only to be used within Extbase, not part of TYPO3 Core API.

Table of Contents

Interfaces

SingletonInterface
"empty" interface for singletons (marker interface pattern)

Properties

$hashService  : HashService
The hash service class to use

Methods

generateTrustedPropertiesToken()  : string
Generate a request hash for a list of form fields
initializePropertyMappingConfigurationFromRequest()  : mixed
Initialize the property mapping configuration in $controllerArguments if the trusted properties are set inside the request.
injectHashService()  : mixed
modifyPropertyMappingConfiguration()  : mixed
Modify the passed $propertyMappingConfiguration according to the $propertyConfiguration which has been generated by Fluid. In detail, if the $propertyConfiguration contains an __identity field, we allow modification of objects; else we allow creation.
serializeAndHashFormFieldArray()  : string
Serialize and hash the form field array

Properties

Methods

generateTrustedPropertiesToken()

Generate a request hash for a list of form fields

public generateTrustedPropertiesToken(array<string|int, mixed> $formFieldNames[, string $fieldNamePrefix = '' ]) : string
Parameters
$formFieldNames : array<string|int, mixed>

Array of form fields

$fieldNamePrefix : string = ''
Tags
throws
InvalidArgumentForHashGenerationException
Return values
string

trusted properties token

initializePropertyMappingConfigurationFromRequest()

Initialize the property mapping configuration in $controllerArguments if the trusted properties are set inside the request.

public initializePropertyMappingConfigurationFromRequest(Request $request, Arguments $controllerArguments) : mixed
Parameters
$request : Request
$controllerArguments : Arguments
Tags
throws
BadRequestException

modifyPropertyMappingConfiguration()

Modify the passed $propertyMappingConfiguration according to the $propertyConfiguration which has been generated by Fluid. In detail, if the $propertyConfiguration contains an __identity field, we allow modification of objects; else we allow creation.

protected modifyPropertyMappingConfiguration(array<string|int, mixed> $propertyConfiguration, PropertyMappingConfiguration $propertyMappingConfiguration) : mixed

All other properties are specified as allowed properties.

Parameters
$propertyConfiguration : array<string|int, mixed>
$propertyMappingConfiguration : PropertyMappingConfiguration

serializeAndHashFormFieldArray()

Serialize and hash the form field array

protected serializeAndHashFormFieldArray(array<string|int, mixed> $formFieldArray) : string
Parameters
$formFieldArray : array<string|int, mixed>

form field array to be serialized and hashed

Return values
string

Hash


        
On this page

Search results