خطا در ثبت نام کاربر

5 ساعت پیش
توسط سیدعلی موسوی آپدیت شد
محسن مهری ( 9370 تجربه )
4 روز پیش

سلام مهندسین روزتون بخیر
این کد من چه مشکلی داره ؟؟ چون وقتی میخام لاگین کنم میگه که اطلاعات ورود شما با هم مطابقت نداره
میدونم که مشکل در قسمت ذخیره پسورد اما نمیدونم چه مشکلیه و چطوری حلش کنم

// i,m use Illuminate\Support\Facades\Hash;
       $inputs=$request->all();
       $pasword=Str::random(10);
       $user=User::create([
           'name'=>$inputs['name'],
           'email'=>$inputs['email'],
           'level'=>'clerk',
           'password'=>Hash::make($pasword),
       ]);

به این دلیل میدونم مشکلم پسورد چون وقتی دستی توی دیتابیس رمزم رو تغییر میدم مشکلم حل میشه.

حسام موسوی ( 288154 تجربه )
4 روز پیش
تخصص : طراح و برنامه نویس

خوب مشخصه شما دارید یک رشته random میسازید که احتمالا نمیدونید چی هست و بعد میاید اون رشته random رو هش میکنید ! خوب آیا با ایمیل و اون رشته random لاگین میکنید ؟
قاعدتا نه
پس همونطور که ایمیل و نام رو از کاربر میگیرید باید اینجا password رو هم از کاربر بگیرید و hash بفرمایید

محسن مهری ( 9370 تجربه )
3 روز پیش

@hesammousavi
سلام - من پسورد رندوم تولید شدم رو برای کاربرم ایمیل میکنم .
فهمیدم مشکلم کجاست اما بلد نیستم چطوری حلش کنم لطفا راهنماییم کنید - چون توی جدول user فیلد passsword توی

protected $hidden = ['password', 'remember_token'];

این قسمت تعریف شده نمیتونم اون رو ست کنم - لطفا راهنمایی کنید بدون اینکه این تنظیمات رو به هم بریزم چطوری پسوردم رو ست کنم ؟

سیدعلی موسوی ( 73116 تجربه )
3 روز پیش
تخصص : سی شارپ و پی اچ پی

سلام
محسن جان سوال شما به نظرم‌ درست نمیاد
شما در بخش اول سوالتون یک رشته راندوم رو که خودتون هم نمیدونین چیه میسازی و هش میکنی و بعد ذخیره که اینجا اقای موسوی گفتن مشکلتون و نحوه رفعش حالا شما در بخش دوم مشکل تون رو مرتبط با مخفی کردن فیلد پسورد در مدل یوزر میدونین چرا؟!( این پراپرتی برای اینکه هروقت شما اطلاعات کاربر رو خواستین همه ی فیلدها رو بهتون برگردونه جز اون دوتایی که تویی ارایه پراتکت هستن)

در ادامه بحث شما برای کاربر یک رمز تصادفی ایجاد میکنیدو هش و در ادامه براش ذخیره میکنین حالا براش همون رمز تصادفی و هش نشده رو ایمیل میکنین درسته؟ حالا مشکل چیه؟ در اصل این روش باید کار کنه درسته؟ یا مشکل دارین باهاش؟؟

reza ( 33360 تجربه )
3 روز پیش
تخصص : مهندس نرم افزار،برنامه نویس بک اند

کد چک کردن اطلاعات کاربر موقع لاگینو بذار

محسن مهری ( 9370 تجربه )
6 ساعت پیش

@juza66
@rezajashnsaz0011
سلام @juza66 بله آقای موسوی درست میگید من یکم بد توضیح دادم اشکالم رو
یک توضیح مختصر بدم - توی سایت من یک مدیر میخاد چندتا پشتیبان برای پنل خودش تعریف کنه
من طوری پیاده سازی کردم که وقتی مدیر خواست یک پشتیبان تعریف کنه فقط کافیه اطلاعات اون پشتیبان ( نام - ایمیل - شماره تلفن) رو وارد کنه - و من توی جدول یوزر یک کاربر با این مشخصات رو ذخیره میکنم و یک رمز تصادفی برای اون تولید میکنم.
و یوزر و پسورد رو برای اون ایمیل میکنم تا بتونه بعدا لاگین کنه.
حالا من این پسورد رو که تولید میکنم مشکلی نداره تولید میشه حتی به صورت حش شده توی جدول ذخیره میشه .اما زمانی که میخام لاگین کنم میگه اطلاعات شما با هم تطابق نداره(و میدونم این ارور از پسورد تولید شده است، چون به صورت دستی وقتی توی مای اسکیوال یک پسورد از قبل تعریف شده رو جایگزین میکنم درست میشه )( و جالبه بعضی وقتا ولی درست پسورد تولید میشه و کار میکنه)
من به جدول لاگین هم دستی نزدم - یعنی همون login controller پیش فرض هستش.

public function clerk_store(Requests $requests){}
$inputs=$request->all();
$password=Str::random(8);
$user = new User();
$user->password = Hash::make($password);
$user->email =$inputs['email'];
$user->name =$inputs['name'];
$user->level='clerk';
$user->active=false;
$user->save();
}
سیدعلی موسوی ( 73116 تجربه )
5 ساعت پیش
تخصص : سی شارپ و پی اچ پی

شما به جای استفاده از متد هش hash از متد bcrypt استفاده کن

برای ارسال پاسخ باید وارد سایت شوید