#routes.php
Route::get('/usuarios-criar', 'UsuariosController@getAction');
# Model
$rota = Rota::create(['action' => 'App\Http\Controllers\UsuariosController@getAction']);
auth()->user()->rotas()->attach($rota->id);
#middleware
function handle($request, $next)
{
$action = $request->route()->getActionName();
if (! $request->user()->routes()->where(['action' => $action])->exists())
{
return abort(403, 'Acesso não autorizado');
}
return $next();
}