سلام استاد من سوالم رو مطرح کرده بودم اما نمیدونم چرا پاک شد!!!!
این کدی است که نوشتم:
<?php
namespace App\Http\Controllers\Admin;
use System\Auth\Auth;
use App\Http\Controllers\Controller;
class AdminController extends Controller
{
public function __construct()
{
Auth::loginById(1);
Auth::check();
if (Auth::user()->user_type != 'admin') {
redirect('/login');
exit;
}
}
public function index()
{
return view("admin.index");
}
}
با سلام خدمت شما همراه عزیز
اون بخش
Auth::user()->user_type
دامپ بگیرید ببینید خروجی چی هست
استاد میشه بیشتر راهنمایی ام کنید من میخوام بگیرم بازم ریدایرکت میشم
مینویسم:
var_dump(Auth::user()->user_type);
سلام دوست عزیز ؛
پسوردی که توی دیتابیس ذخیره کردین hash شده نیست . در صورتی که شما توی فرم login پسورد ابتدا هش میشه بعد مطابقت داده میشه . شما یک پسورد رو تبدیل به هش کنین بعد ورود کنید.
سلام
ممنون از پاسخگویتن
mim student
چجوری پسوردی که خودم دستی تو php myadmin میسازم را hash کنم؟
سلام مجدد ،
استاد از الگوی تابع password_hash استفاده کردن شما هم مجبورین از این روش استفاده کنین . این خط رو ازش خروجی بگیرین . پسوردی که وارد میکنین رو hash شده بهتون میده .
print_r(password_hash('your password', PASSWORD_DEFAULT));
سلام دوست عزیز این قطعه کدی که نوشتی را کجا باید بنویسم؟
بعد از دامپ باید exit بذارید تا ریدایرکت نشه
این مورد رو ازش خروجی بگیرید و خروجی رو در دیتابیس بجای پسورد بذارید
<?php
namespace App\Http\Controllers\Admin;
use System\Auth\Auth;
use App\Http\Controllers\Controller;
class AdminController extends Controller
{
public function __construct()
{
var_dump(print_r(password_hash('your password', PASSWORD_DEFAULT)));
exit;
Auth::loginById(1);
Auth::check();
if (Auth::user()->user_type != 'admin') {
redirect('/login');
exit;
}
}
public function index()
{
return view("admin.index");
}
}
من اینجا از اومدم و گذاشتم و وقتی که این ادرس رو وارد میکنم
http://localhost:8000/admin
بهم این پسورد را داد:
$2y$10$00WUhycCgNrZPGDdN0iUsOAfRZTnEabmv64ls.mRpH7e98rhH1SG6bool
و اینو رفتم به جای پسوردی که تو دیتابیس گذاشته بودم گذاشتم که قبلا بود:
1234567898
ولی بازم کار نکرد
ایا درست عمل کردم؟
توی اون بخشی که من لاگین رو دارم بهتون میگم
توی دیتابیس هش شده گذاشتم با معمولی؟
چون خاطرم نیست
ممنون استاد از پاسخگویتون
استاد در قسمت 172 دقیقه 11 شما دیتابیس رو نشون میدین و اونجا که من دیدم پسورد رو hash گذاشته اید
میشه برای این مورد در قسمت اینده یک توضیحی بدید چون من فک کنم خیلی های دیگه این مشکل رو داشته باشند و اگر این کارو کردید لطفا اطلاع بدید که ما نگاه کنیم چون من تا قسمت 172 ام دیدم
کاربرگرامی ! لطفا به پیام صوتی زیر گوش دهید.
سلام استاد مشکلم حل شد مرسی
با سلام خدمت شما همراه عزیز
سلامت باشید