سلام دوستان . سناریو بدین صورته که برنامه چندین نقش مختلف داره . مثلا ( کاربر ، ادمین ، نویسنده ، دپارتمان ای تی، دپارتمان مالی ، دپارتمان فروش )
حالا من میخام وقتی کاربر لاگین میکنه متناسب با نقشش به صفحه پروفایل مربوط به خودش هدایت بشه. با middleware نتونستم این کارو بکنم خطا میگیرم همش. بهترین راه چیه ؟ این که من همشونو هدایت کنم به صفحه profile.blade و اونجا چندتا if بذارم ؟
یا اینکه چندین صفحه مختلف داشته باشم مثلا user.profile ، admin.profile و ....
مشکل middleware رو نفهمیدم واقعا . یکی نوشتم چندتا if داشت مشکلیم نبود ولی هر زمان اجرا میشد مثلا برای کاربر درست بود ولی برای بقیش خطا میداد. خیلی عجیب بود برام واقعا
class ProfileMiddleware
{
public function handle($request, Closure $next)
{
if (auth()->check()) {
if (auth()->user()->role == 'admin') {
return redirect(route('admin.profile'));
} elseif (auth()->user()->role == 'user') {
return redirect(route('user.profile'));
} elseif (auth()->user()->role == 'financial') {
return redirect(route('fanincial.profile'));
}
return $next($request);
}
}
}
خب این رو من نوشتم و در route::group این middleware رو قرار دادم ولی اجرا نمیشه و خطای زیر رو میده
This page isn’t working
192.168.12.42 redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟