28 lines
760 B
PHP
28 lines
760 B
PHP
<?php
|
|
|
|
namespace App\Filters;
|
|
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use CodeIgniter\Filters\FilterInterface;
|
|
|
|
class AuthFilter implements FilterInterface
|
|
{
|
|
public function before(RequestInterface $request, $arguments = null)
|
|
{
|
|
if (is_cli()) return;
|
|
$auth = service('auth');
|
|
if (!$auth->loggedIn()) {
|
|
if ($request->isAJAX()) {
|
|
return service('response')->setStatusCode(401)->setJSON(['message' => 'Unauthorized']);
|
|
} else {
|
|
return redirect()->to('/login');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
|
|
{
|
|
// Do something here
|
|
}
|
|
} |