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
    );
}


以上是LaravelFortify注销重定向的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>