LaravelFortify注销重定向
大家好,有什么方法可以重定向Fortify的注销功能吗?
<div>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit">Logout</button>
</form>
</div>
这是我的刀片注销
回答
您可以执行以下操作:
创建一个新LogoutResponse类并将重定向逻辑实现到toResponse方法中:
“应用程序/Http/Responses/LogoutResponse.php”
<?php
namespace AppHttpResponses;
use IlluminateHttpJsonResponse;
use IlluminateHttpRequest;
use LaravelFortifyContractsLogoutResponse as LogoutResponseContract;
use SymfonyComponentHttpFoundationResponse;
class LogoutResponse implements LogoutResponseContract
{
/**
* Create an HTTP response that represents the object.
*
* @param Request $request
*
* @return Response
*/
public function toResponse($request)
{
return $request->wantsJson()
? new JsonResponse('', 204)
: redirect('www.example.com');
}
}
现在您可以在boot您的方法中将新响应绑定到服务容器中FortifyServiceProvider:
“应用程序/Providers/FortifyServiceProvider.php”
public function boot()
{
$this->app->singleton(
LaravelFortifyContractsLogoutResponse::class,
AppHttpResponsesLogoutResponse::class
);
}