Laravel 节流消息
Laravel Throttle message
我正在使用 ThrottleRequest 来限制登录尝试。
在 Kendler.php 我有
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
我的路线在web.php
Route::post('login', ['middleware' => 'throttle:3,1', 'uses' => 'Auth\LoginController@authenticate']);
当我第四次登录时,它 return 状态 429 和消息 'TOO MANY REQUESTS.'
(我猜默认情况下)
但我只想 return 错误信息,比如:
return redirect('/login')
->withErrors(['errors' => 'xxxxxxx']);
谁能帮帮我!谢谢!
您可以扩展中间件并覆盖 buildException()
方法以更改它在抛出 ThrottleRequestsException
时传递的消息,或者您可以使用异常处理程序来捕获 ThrottleRequestsException
随心所欲。
所以在 Exceptions/Handler.php
你可以做类似
use Illuminate\Http\Exceptions\ThrottleRequestsException;
public function render($request, Exception $exception)
{
if ($exception instanceof ThrottleRequestsException) {
//Do whatever you want here.
}
return parent::render($request, $exception);
}
我正在使用 ThrottleRequest 来限制登录尝试。 在 Kendler.php 我有
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
我的路线在web.php
Route::post('login', ['middleware' => 'throttle:3,1', 'uses' => 'Auth\LoginController@authenticate']);
当我第四次登录时,它 return 状态 429 和消息 'TOO MANY REQUESTS.'
(我猜默认情况下)
但我只想 return 错误信息,比如:
return redirect('/login')
->withErrors(['errors' => 'xxxxxxx']);
谁能帮帮我!谢谢!
您可以扩展中间件并覆盖 buildException()
方法以更改它在抛出 ThrottleRequestsException
时传递的消息,或者您可以使用异常处理程序来捕获 ThrottleRequestsException
随心所欲。
所以在 Exceptions/Handler.php
你可以做类似
use Illuminate\Http\Exceptions\ThrottleRequestsException;
public function render($request, Exception $exception)
{
if ($exception instanceof ThrottleRequestsException) {
//Do whatever you want here.
}
return parent::render($request, $exception);
}