Source of file AuditHookSessionManager.php
Size: 1,330 Bytes - Last Modified: 2021-12-23T10:28:01+00:00
/var/www/docs.ssmods.com/process/src/code/AuditHookSessionManager.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | <?php namespace SilverStripe\Auditor; use Psr\Log\LoggerInterface; use SilverStripe\Core\Injector\Injector; use SilverStripe\ORM\DataExtension; use SilverStripe\Security\Security; use SilverStripe\SessionManager\Model\LoginSession; /** * Provides logging actions on extension hooks from certain silverstripe/session-manager actions. */ class AuditHookSessionManager extends DataExtension { /** * Login session for a member is being removed * * @param LoginSession $loginSession */ public function onBeforeRemoveLoginSession(LoginSession $loginSession) { $member = $loginSession->Member(); $currentUser = Security::getCurrentUser(); if (is_null($member) || $member->ID === 0 || is_null($currentUser) || $currentUser->ID === 0) { return; } $this->getAuditLogger()->info(sprintf( 'Login session (ID: %s) for Member "%s" (ID: %s) is being removed by Member "%s" (ID: %s)', $loginSession->ID, $member->Email ?: $member->Title, $member->ID, $currentUser->Email ?: $currentUser->Title, $currentUser->ID )); } /** * @return LoggerInterface */ protected function getAuditLogger() { return Injector::inst()->get('AuditLogger'); } } |