@bahadori.embi
اینو ببینید:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
یعنی اومدم admin رو هم بهش اضافه کردم در فایل auth.php
و همچنین در ادامه همون فایل :
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admins' => [
'driver' => 'database',
'table' => 'admins',
],
],
من الان با کدهای بالا اومدم 2 دسته کاربر درست کردم یعنی user و admin که البته باید موقع ورود یا همون attempt نوع کاربر رو مشخص کنید. یعنی :
Auth::quard('admin')->attempt(...)
و یا :
Auth::quard('user')->attempt(...)
با یه جدول users هم میتونی پنل مدیریت رو از پنل کاربری جدا کنی
کافیه یه فیلد به اسم role مثلا بذاری و مقدار پیشفرضش رو user بذاری
خب در این صورت باید دستی چک کنی .. مثلا تو صفحه ورود ادمین چک کنی تو جدول admins چنین یوزرنیم و پسوردی که کاربر زده وجود داره یا نه
و تو صفحه ورود کاربر باید همین کارو تو جدول users انجام بدی
برای اینکار کار خود لاراول امکانی قرار داده با عنوان quard. یعنی شما میتونی توسط quard نوع یوزری که وارد میشه رو تعیین کنی که admin هست و یا user.
quard در لاراول یک امکانی هست دقیقا همین نیاز شمارو برطرف میکنه. تکه کد زیر رو ببینید.
if (Auth::guard('admin')
یعنی اگر نوع کاربر وارد شده از نوع admin بود.
حالا همین کارو میتونید در قالب middleware هم استفاده کنید به صورت زیر .
route:get(...)->middleware('auth:admin');
یعنی فقط کاربرهایی که admin هستند به این روت میتونن دسترسی داشته باشن.
فقط یکی دوتا تنظیمات دیگه در فایل auth.php نیاز هست که باید انجام بدید و میتونید از لینک زیر استفاده کنید.
https://laravel.com/docs/master/authentication#adding-custom-guards
@drcode.ir
ممنونم از لطفتون
باید کد زیر رو به فایل auth.php اضافه کنم؟
'providers' => [
'admins' => [
'driver' => 'eloquent',
'model' => App\Admin::class,
],
@bahadori.embi
اینو ببینید:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
یعنی اومدم admin رو هم بهش اضافه کردم در فایل auth.php
و همچنین در ادامه همون فایل :
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admins' => [
'driver' => 'database',
'table' => 'admins',
],
],
من الان با کدهای بالا اومدم 2 دسته کاربر درست کردم یعنی user و admin که البته باید موقع ورود یا همون attempt نوع کاربر رو مشخص کنید. یعنی :
Auth::quard('admin')->attempt(...)
و یا :
Auth::quard('user')->attempt(...)
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟