Files
dbois/app/Filters/AuthFilter.php
2026-01-09 11:41:28 +01:00

50 lines
1.4 KiB
PHP

<?php
namespace App\Filters;
use CodeIgniter\Filters\FilterInterface;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
class AuthFilter implements FilterInterface
{
/**
* Check if user is authenticated
*
* @param RequestInterface $request
* @param array|null $arguments
*
* @return RequestInterface|ResponseInterface|string|void
*/
public function before(RequestInterface $request, $arguments = null)
{
// Check if user is authenticated
if (!defined('AUTHENTICATED') || AUTHENTICATED === false) {
// Check if this is an AJAX request
if ($request->isAJAX()) {
return \Config\Services::response()
->setStatusCode(401)
->setJSON(['error' => 'Unauthorized']);
}
// Redirect to login page
return redirect()->to('/');
}
}
/**
* Allows After filters to inspect and modify the response
* object as needed.
*
* @param RequestInterface $request
* @param ResponseInterface $response
* @param array|null $arguments
*
* @return ResponseInterface|void
*/
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
{
// No action needed after request
}
}