TYPO3
7.6
Users
bogdan
Projects
Kapeli
Resources
Dash
Docsets
TYPO3
src
typo3
sysext
backend
Classes
Controller
LogoutController.php
Go to the documentation of this file.
1
<?php
2
namespace
TYPO3\CMS\Backend\Controller;
3
4
/*
5
* This file is part of the TYPO3 CMS project.
6
*
7
* It is free software; you can redistribute it and/or modify it under
8
* the terms of the GNU General Public License, either version 2
9
* of the License, or any later version.
10
*
11
* For the full copyright and license information, please read the
12
* LICENSE.txt file that was distributed with this source code.
13
*
14
* The TYPO3 project - inspiring people to share!
15
*/
16
17
use
Psr\Http\Message\ResponseInterface
;
18
use
Psr\Http\Message\ServerRequestInterface
;
19
use
TYPO3\CMS\Core\Utility\GeneralUtility
;
20
use
TYPO3\CMS\Core\FormProtection\FormProtectionFactory
;
21
26
class
LogoutController
27
{
37
public
function
logoutAction(
ServerRequestInterface
$request,
ResponseInterface
$response
)
38
{
39
$this->logout();
40
41
$redirectUrl = isset($request->
getParsedBody
()[
'redirect'
]) ? $request->
getParsedBody
()[
'redirect'
] : $request->
getQueryParams
()[
'redirect'
];
42
$redirectUrl =
GeneralUtility::sanitizeLocalUrl
($redirectUrl);
43
if
(empty($redirectUrl)) {
45
$uriBuilder =
GeneralUtility::makeInstance
(\TYPO3\CMS\Backend\Routing\UriBuilder::class);
46
$redirectUrl = (string)$uriBuilder->buildUriFromRoute(
'login'
, array(), $uriBuilder::ABSOLUTE_URL);
47
}
48
return
$response
49
->
withStatus
(303)
50
->withHeader(
'Location'
,
GeneralUtility::locationHeaderUrl
($redirectUrl));
51
}
52
58
public
function
logout()
59
{
60
if
(empty($this->
getBackendUser
()->user[
'username'
])) {
61
return
;
62
}
63
// Logout written to log
64
$this->
getBackendUser
()->writelog(255, 2, 0, 1,
'User %s logged out from TYPO3 Backend'
, array($this->
getBackendUser
()->user[
'username'
]));
66
$backendFormProtection =
FormProtectionFactory::get
();
67
$backendFormProtection->removeSessionTokenFromRegistry();
68
$this->
getBackendUser
()->logoff();
69
}
70
76
protected
function
getBackendUser
()
77
{
78
return
$GLOBALS
[
'BE_USER'
];
79
}
80
}
Generated on Wed Nov 11 2015 01:51:59 for TYPO3 by
1.8.3