LoggedStorage
class LoggedStorage implements SessionStorageInterface, LoggerAwareInterface (View source)
Traits
Trait LoggerAwareTrait A trait used with LoggerAwareInterface
Properties
protected SessionStorageInterface | $wrappedStorage | The storage instance we're wrapping / adding logging to |
Methods
Declare our logging channel as "Security"
No description
Log details if possible
Add info level logs
Add debug level logs
Starts the session.
Checks if the session is started.
Returns the session ID.
Sets the session ID.
Returns the session name.
Sets the session name.
Regenerates id that represents this storage.
Force the session to be saved and closed.
Clear all session data in memory.
Gets a SessionBagInterface by name.
Registers a SessionBagInterface for use.
No description
Details
getLoggerChannel()
Declare our logging channel as "Security"
__construct(SessionStorageInterface $wrappedStorage)
No description
protected
log($level, $message, array $context = [])
Log details if possible
protected
logInfo($message, array $context = [])
Add info level logs
protected
logDebug($message, array $context = [])
Add debug level logs
bool
start()
Starts the session.
bool
isStarted()
Checks if the session is started.
string
getId()
Returns the session ID.
setId(string $id)
Sets the session ID.
mixed
getName()
Returns the session name.
setName(string $name)
Sets the session name.
bool
regenerate(bool $destroy = false, int $lifetime = null)
Regenerates id that represents this storage.
This method must invoke session_regenerate_id($destroy) unless this interface is used for a storage object designed for unit or functional testing where a real PHP session would interfere with testing.
Note regenerate+destroy should not clear the session data in memory only delete the session data from persistent storage.
Care: When regenerating the session ID no locking is involved in PHP's session design. See https://bugs.php.net/bug.php?id=61470 for a discussion. So you must make sure the regenerated session is saved BEFORE sending the headers with the new ID. Symfony's HttpKernel offers a listener for this. See Symfony\Component\HttpKernel\EventListener\SaveSessionListener. Otherwise session data could get lost again for concurrent requests with the new ID. One result could be that you get logged out after just logging in.
save()
Force the session to be saved and closed.
This method must invoke session_write_close() unless this interface is used for a storage object design for unit or functional testing where a real PHP session would interfere with testing, in which case it should actually persist the session data if required.
clear()
Clear all session data in memory.
SessionBagInterface
getBag(string $name)
Gets a SessionBagInterface by name.
registerBag(SessionBagInterface $bag)
Registers a SessionBagInterface for use.
MetadataBag
getMetadataBag()
No description