رایموند
5 سال پیش توسط رایموند مطرح شد
10 پاسخ

مشکل پیدا نکردن اطلاعات ثبت شده در بخش ورود به سایت

درود دوستان ...
در لاراول سیستم ورود و عضویت auth ایجاد کردیم و میدلرها و رابطه ها و سیدر ها تعریف کردیم...
اما مشکلی که داره اطلاعاتی که به صورت دستی ایجاد شده را پیدا نمی کنه میگه ایمیل ورود در پایگاه داده موجود نمی باشد ...
نمونه کد سیدر :

public function run()
    {
        DB::table('users')->insert([
            'role_id' => '1',
            'name' => 'C.Admin',
            'username' => 'admin',
            'email' => 'admin@gmail.com',
            'password' => bcrypt('rootadmin'),
        ]);

        DB::table('users')->insert([
            'role_id' => '2',
            'name' => 'C.Author',
            'username' => 'author',
            'email' => 'author@gmail.com',
            'password' => bcrypt('rootauthor'),
        ]);
    }

ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@endworld

سید رو اجرا کردید؟
یوزر ها در دیتابیس وارد شده؟


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 5 سال پیش مطرح شد
0

@Alimotreb
درود..
آری اجرا شده و اطلاعات کاربری به پایگاه داده وارد شده...
اما مشکل هنوز حل نشده...


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@endworld

یه خروجی از یه کنترلر بگیرید
dd بگیرید از اطلاعات یه کاربر که تو جدل هست
ببینید چیزی بر میگردونه
اگر برگردوند که هیچی
اگر نگردوند احتمالا ایراد از سیستم لاگین و میدلورش هست.


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 5 سال پیش آپدیت شد
0

@Alimotreb
با تینکر (tinker) خروجی گرفتم مشکلی نداره :

>>> AppUser::find(1);
=> AppUser {#2951
     id: 1,
     role_id: 1,
     name: "C.Admin",
     username: "admin",
     image: "default.png",
     about: null,
     email: "admin@gmail.com",
     email_verified_at: null,
     created_at: null,
     updated_at: null,
   }
>>> AppUser::find(2);
=> AppUser {#139
     id: 2,
     role_id: 2,
     name: "C.Author",
     username: "author",
     image: "default.png",
     about: null,
     email: "author@gmail.com",
     email_verified_at: null,
     created_at: null,
     updated_at: null,
   }
>>> AppRole::find(1)->users
=> IlluminateDatabaseEloquentCollection {#2957
     all: [
       AppUser {#2953
         id: 1,
         role_id: 1,
         name: "C.Admin",
         username: "admin",
         image: "default.png",
         about: null,
         email: "admin@gmail.com",
         email_verified_at: null,
         created_at: null,
         updated_at: null,
       },
     ],
   }
>>> AppRole::find(2)->users
=> IlluminateDatabaseEloquentCollection {#2958
     all: [
       AppUser {#2946
         id: 2,
         role_id: 2,
         name: "C.Author",
         username: "author",
         image: "default.png",
         about: null,
         email: "author@gmail.com",
         email_verified_at: null,
         created_at: null,
         updated_at: null,
       },
     ],
   }

Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@endworld

این موارد اوکی هست
خروجی دارید
میدل ور رو چطوری اعمال کردید؟


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 5 سال پیش آپدیت شد
0

@Alimotreb
Author:

class AuthorMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Auth::check() && Auth::user()->role->id == 2) 
        {
            return $next($request);
        } else{
            return redirect()->route('login');
        }
    }
}

Admin :

class AdminMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Auth::check() && Auth::user()->role->id == 1) 
        {
            return $next($request);
        } else{
            return redirect()->route('login');
        }

    }
}

Route :

Route::group(['as'=>'admin.', 'prefix'=>'admin', 'namespace'=>'Admin', 'middleware' => ['auth', 'admin']], function(){

    Route::get('/dashboard', 'DashboardController@index')->name('dashboard');

});

Route::group(['as'=>'author.', 'prefix'=>'author', 'namespace'=>'Author', 'middleware' => ['auth', 'author']], function(){

    Route::get('/dashboard', 'DashboardController@index')->name('dashboard');

});

Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@endworld

میدل ور هارو به این صورت به روت ها یا یکی از روت ها بدید و تست بگیرید

Route::group(['middleware' => 'auth:web'], function () {

ادامه ...

یا

$this->get('/dashboard','DashboardController@index')->middleware('author');

ببینید اعمال میشه.


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 5 سال پیش مطرح شد
0

@Alimotreb
درود..
متاسفانه این روش گفتی خطا دریافت کردم:

In RouteFileRegistrar.php line 35:

  Illuminate\Routing\RouteFileRegistrar::register(): Failed opening require  
  d 'Array' (include_path='.:/usr/share/php')  

Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@endworld

خارج از گروپ روی یه روت دیگه به صورت مجزا قرار بدید میدل ور هاتون رو ببینید ج میده یا نه.


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 5 سال پیش مطرح شد
0

@Alimotreb
این روش امتحان کردم متاسفانه سوابق ایمیل ثبت نامی پیدا نمی کنه:

Route::namespace('admin')->name('admin.')->group(function() {
    Route::group(['prefix' => 'admin', 'middleware' => ['auth']], function() {
        Route::get('/dashboard', 'DashboardController@index')->name('dashboard');
    });
});

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام