Middlewares
v4Middlewares interceptam a requisição antes do handler. Servem para verificar login, permissões de admin, CSRF e outras regras de acesso.
Onde ficam
app/http/middlewares/
├── user_auth.php → alias: auth:user
├── admin_auth.php → alias: admin
└── authenticate_api.phpSão descobertos automaticamente pelo middleware_registry.
Middlewares prontos
| Classe / alias | Função |
|---|---|
| user_auth / auth:user | Exige jogador logado |
| admin_auth / admin | Exige admin logado |
| authenticate_api | Valida token Bearer na API |
Exemplo de middleware
<?php
namespace MUCRM\http\middlewares;
use MUCRM\engine\http\middleware\middleware;
use MUCRM\engine\support\auth\auth;
class user_auth extends middleware
{
protected string $alias = 'auth:user';
public function handle(): bool
{
if (!auth::check('user')) {
res()->to('/');
return false;
}
return true;
}
}handle()retornatruepara continuar oufalsepara bloquear$aliaspermite usar o nome curto nas rotas:['auth:user']
Usando nas rotas
use MUCRM\engine\support\facades\uri;
use MUCRM\http\middlewares\user_auth;
uri::group(['prefix' => 'user', 'middleware' => [user_auth::class]], function () {
uri::get('/', [panel_handler::class, 'index'])->name('user.panel');
});Veja também Grupos de Rotas.
Criar um middleware novo
- Crie um arquivo em
app/http/middlewares/meu_middleware.php - Estenda
MUCRM\engine\http\middleware\middleware - Implemente
handle(): bool - Defina
$aliasse quiser usar nome curto nas rotas - Referencie na rota com a classe ou o alias