salut j'ai un probleme avec l'authentification de mon site laravel, don voici le code , en fait la redirection envers le homecontroller est fait mais elle n'est pas attaqué par la route vendors/home, veuillez m'aidez
voici mon homecontroller : <?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class HomeController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index(Request $request)
{
$user = Auth::user();
// Si l'utilisateur a des rôles associés
if ($user->roles && $user->roles->isNotEmpty()) {
$roleId = $user->roles->first()->id;
return $this->redirectToRoleDashboard($roleId);
}
// Aucun rôle trouvé
Auth::logout();
return redirect('/login')->with('status', 'Aucun rôle associé à ce compte.');
}
private function redirectToRoleDashboard(int $roleId)
{
switch ($roleId) {
case 1:
return redirect('/dashboard')->with('status', 'Bienvenue sur le panel d\'administration.');
case 2:
return redirect('/home')->with('status', 'Bienvenue sur votre espace utilisateur.');
case 3:
return redirect('/vendors/home')->with('status', 'Bienvenue sur votre espace fournisseur d\'articles.');
default:
return redirect('/')->with('status', 'Rôle non reconnu.');
}
}
}
et voici mon Logincontroller :<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
// protected $redirectTo = RouteServiceProvider::HOME;
public function authenticated(Request $request)
{
$roleId = (int)$request->input('role_id');
$user=Auth::user();
dd($user);
// Sécurité : Vérifie que l'utilisateur a bien ce rôle
if ($user->roles->contains('id', $roleId)) {
switch ($roleId) {
case 1:
return redirect('/dashboard')->with('status', 'Bienvenue sur le panel d\'administration.');
break;
case 2:
return redirect('/home')->with('status', 'Bienvenue sur votre espace utilisateur.');
break;
case 3:
return redirect('/vendors/home')->with('status', 'Bienvenue sur votre espace fournisseur.');
default:
return redirect('/')->with('status', 'Rôle non reconnu.');
}
}
// L'utilisateur connecté n'a pas ce rôle, on déconnecte
Auth::logout();
return redirect('/login')->with('status', 'Vous n\'avez pas accès à ce rôle.');
}
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
et voici mon web.php : <?php
use App\Models\Post;
use App\Models\User;
use App\Http\Controllers\PaymentController;
use App\Models\Order;
use App\Models\Photo;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Admin\OrderController;
use App\Http\Controllers\Admin\ProductController;
use App\Http\Controllers\Frontend\CartController;
use App\Http\Controllers\Frontend\UserController;
use App\Http\Controllers\Admin\AdminUserController;
use App\Http\Controllers\Admin\CategoryController;
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Admin\UnitController;
use App\Http\Controllers\Frontend\CheckoutController;
use App\Http\Controllers\Frontend\FrontendController;
use App\Http\Controllers\Frontend\WishlistController;
use App\Http\Controllers\Admin\AuthorController;
use App\Http\Controllers\Admin\EditorController;
use App\Http\Controllers\Admin\CollectionController;
use App\Http\Controllers\Admin\BookController;
use App\Http\Controllers\Admin\SchoolSubjetController;
use App\Http\Controllers\Admin\LevelController;
use App\Http\Controllers\VendorController;
/
/
Route::get('/', function () {
return view('welcome');
});*/
Route::get('welcome', [FrontendController::class,'index']);
Route::get('/', [FrontendController::class,'index']);
Route::get('/category',[FrontendController::class,'category']);
Route::get('/view-category/{slug}',[FrontendController::class,'viewcategory']);
Route::get('category/{cate_slug}/{prod_slug}',[FrontendController::class,'viewproduct']);
Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Route::post('add-cart',[CartController::class,'add_cart']);
Route::post('/delete-cart-item',[CartController::class,'deleteCartItem']);
Route::post('update-cart-item',[CartController::class,'UpdateCartData']);
Route::post('delete-wishlist-item',[WishlistController::class,'deleteWishListItem']);
Route::post('place-order',[CheckoutController::class,'place_order']);
Route::post('add-to-wishlist',[WishlistController::class,'addToWishlist']);
Route::get('load-cart-data',[CartController::class,'load_cart_data']);
Route::get('load-wishlist-data',[WishlistController::class,'load_wishlist_data']);
Route::middleware(['auth'])->group(function(){
Route::get('cart',[CartController::class,'cart']);
Route::get('wishlist',[WishlistController::class,'index']);
Route::get('checkout',[CheckoutController::class,'index']);
Route::get('my-orders',[UserController::class,'index']);
Route::get('/view-order/{id}',[UserController::class,'view_order']);
});
/*Route::group(['middleware'=>['auth','isAdmin']],function(){
Route::get('/dashboard',function(){
return view('admin.dashboard');
});
});*/