104 lines
2.8 KiB
PHP
104 lines
2.8 KiB
PHP
<?php
|
|
/**
|
|
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
|
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
|
*
|
|
* Licensed under The MIT License
|
|
* For full copyright and license information, please see the LICENSE.txt
|
|
* Redistributions of files must retain the above copyright notice.
|
|
*
|
|
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
|
* @link http://cakephp.org CakePHP(tm) Project
|
|
* @since 0.2.9
|
|
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
|
*/
|
|
namespace App\Controller;
|
|
|
|
use Cake\Event\Event;
|
|
use Cake\Controller\Controller;
|
|
|
|
/**
|
|
* Application Controller
|
|
*
|
|
* Add your application-wide methods in the class below, your controllers
|
|
* will inherit them.
|
|
*
|
|
* @link http://book.cakephp.org/3.0/en/controllers.html#the-app-controller
|
|
*/
|
|
class AppController extends Controller
|
|
{
|
|
|
|
/**
|
|
* Initialization hook method.
|
|
*
|
|
* Use this method to add common initialization code like loading components.
|
|
*
|
|
* e.g. `$this->loadComponent('Security');`
|
|
*
|
|
* @return void
|
|
*/
|
|
public function initialize()
|
|
{
|
|
parent::initialize();
|
|
|
|
$this->loadComponent('RequestHandler');
|
|
$this->loadComponent('Flash');
|
|
$this->loadComponent('Security');
|
|
$this->loadComponent('Auth', [
|
|
'authenticate' => [
|
|
'Form' => [
|
|
'fields' => [
|
|
'username' => 'username',
|
|
'password' => 'password'
|
|
]
|
|
]
|
|
],
|
|
'authorize' => ['Controller'],
|
|
'loginRedirect' => [
|
|
'controller' => 'Users',
|
|
'action' => 'index'
|
|
],
|
|
'logoutRedirect' => [
|
|
'controller' => 'Users',
|
|
'action' => 'login'
|
|
]
|
|
]);
|
|
}
|
|
|
|
public function beforeFilter(Event $event)
|
|
{
|
|
$this->Auth->deny();
|
|
}
|
|
|
|
public function isAuthorized($user)
|
|
{
|
|
if(isset($user) && $user['id'] === 0)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
$this->Flash->warning(__('You\'re not allowed to access this page.'));
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Before render callback.
|
|
*
|
|
* @param \Cake\Event\Event $event The beforeRender event.
|
|
* @return \Cake\Network\Response|null|void
|
|
*/
|
|
public function beforeRender(Event $event)
|
|
{
|
|
if (!array_key_exists('_serialize', $this->viewVars) &&
|
|
in_array($this->response->type(), ['application/json', 'application/xml'])
|
|
) {
|
|
$this->set('_serialize', true);
|
|
}
|
|
|
|
if(isset($this->Auth))
|
|
{
|
|
$this->set('loggedUser', $this->Auth->user());
|
|
}
|
|
}
|
|
}
|