Мне нужно вернуть страницу ошибки 404 вместо 403, когда обычный пользователь пытается получить доступ к страницам администратора.Промежуточное программное обеспечение Nova, которое отвечает за это, находится здесь /nova/src/Http/Middleware
.И выглядит так:
<?php
namespace Laravel\Nova\Http\Middleware;
use Laravel\Nova\Nova;
class Authorize
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return \Illuminate\Http\Response
*/
public function handle($request, $next)
{
return Nova::check($request) ? $next($request) : abort(403);
}
}
Если я здесь перейду abort(403)
на abort(404)
- он отлично работает и делает именно то, что мне нужно.
Как расширить это промежуточное ПО для использованияэто в моем приложении.Что я должен сделать, чтобы правильно переписать промежуточное ПО в моем приложении, чтобы я мог в будущем делать обновления Nova и не переписывать эти изменения
Что я пробовал: Расширить это промежуточное ПО в
<?php
namespace App\Http\Middleware;
use Laravel\Nova\Nova;
class NovaAuthorize extends \Laravel\Nova\Http\Middleware\Authorize
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return \Illuminate\Http\Response
*/
public function handle($request, $next)
{
return Nova::check($request) ? $next($request) : abort(404);
}
}
и добавьте его в мое промежуточное ПО
protected $middleware = [
...
\App\Http\Middleware\NovaAuthorize::class, // nova access
];
, но это не дало эффекта