默认情况下,当您从 Filament 应用程序注销(退出)登录时,您将被重定向到 Filament 登录页面。但是,您可能希望在注销后重定向到其他页面。例如,重定向到网站主页或自定义的登录页面。
为此,您可以在 app\Http\Responses
中创建一个实现 LogoutResponse
接口的自定义 LogoutResponse
类。此接口要求您实现一个返回 RedirectResponse
实例的toResponse
方法。
<?php
namespace App\Http\Responses;
use Filament\Http\Responses\Auth\Contracts\LogoutResponse as Responsable;
use Illuminate\Http\RedirectResponse;
class LogoutResponse implements Responsable
{
public function toResponse($request): RedirectResponse
{
// 自定义重定向的路由
return redirect()->route('home');
}
}
然后,将 LogoutResponse
绑定到 AppServiceProvider
中的 LogoutResponseContract
即可:
<?php
namespace App\Providers;
use App\Http\Responses\LogoutResponse;
use Illuminate\Support\ServiceProvider;
use Filament\Http\Responses\Auth\Contracts\LogoutResponse as LogoutResponseContract;
class AppServiceProvider extends ServiceProvider
{
public function register(): void
{
$this->app->bind(LogoutResponseContract::class, LogoutResponse::class);
}
...
}