راکت

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

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'),
        ]);
    }
ثبت پرسش جدید

پاسخ‌ها

10
Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@endworld

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

شاید پاسخ شما همین‌جا باشد

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@endworld

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

@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
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@endworld

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

@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
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@endworld

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

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

ادامه ...

یا

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

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

In RouteFileRegistrar.php line 35:

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

تخصص: کانفیگ سرور و برنامه نویس

سلام
@endworld

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

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

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

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