احمد نادری

توسعه دهنده فول استک

author
author

احمد نادری

توسعه دهنده فول استک

ریدارکت بعد از لاگین در لاراول ۸ و Jetstream

برای ایجاد ریدارکت بعد از لاگین کردن در لاراول ۸ به بعد ( استفاده از Jetstream  مراحل زیر رو دنبال کنید .

۱ – اول یک پوشه در app/http بسازید به اسم مثلا Responses و داخل اون هم یک فایل بسازید به اسم LoginResponse . داخل این فایل کد هارو به شکل زیر قرار بدید و هر ریدارکت رو هم مشخص کنید :

<?php
namespace App\Http\Responses;
use Illuminate\Support\Facades\Auth;
use Laravel\Fortify\Contracts\LoginResponse as LoginResponseContract;
class LoginResponse implements LoginResponseContract
{
publicfunctiontoResponse($request)
{
$user_id = Auth::user()->id;
$user=\App\Models\Role_User::where('user_id',$user_id)->first();
if($user->role_id == 1){
$roleurl = '/admin';
}elseif($user->role_id == 3){
$roleurl = '/seller';
}else{
$roleurl = '/';
}
return$request->wantsJson()
? response()->json(['two_factor' => false])
: redirect($roleurl);
}
}
بعد هم به فایل JetstreamServiceProvider مراجعه کنید و تو قسمت boot کلاس بالارو فراخوانی کنید :
public function boot()
{
$this->configurePermissions();
Jetstream::deleteUsersUsing(DeleteUser::class);
// register new LoginResponse
$this->app->singleton(
\Laravel\Fortify\Contracts\LoginResponse::class,
\App\Http\Responses\LoginResponse::class
);

}

 

در صورت استفاده از ورود دو مرحله ای به جای  \Laravel\Fortify\Contracts\LoginResponse::class, از \Laravel\Fortify\Contracts\LoginResponse::class, استفاده کنید .

درباره من
  • سلام به وب سایت من خوش اومدید ! از سال 1388 که وارد دنیای برنامه نویسی شدم تجربیات خودم رو از پروژه های مختلف به دست آوردم و همیشه سعی کردم تا مهارت های فنی و رفتاری خودم رو ارتقا بدم تا بتونم برای خودم و سازمانی که در آن کار می کنم بهترین باشم . من عاشق یادگیری هستم و همیشه از چالش های جدید هیجان زده میشم چون اونارو کلید موفقیت و رشد خودم می دونم.
  • @ahmadnaderi01
arrow