ایجاد احراز هویت سفارشی در لاراول به شما این امکان را میدهد تا سیستم لاگین/ثبتنام را دقیقاً مطابق نیازهای پروژهتان طراحی کنید—چه با ایمیل، شماره موبایل، توکن، یا ترکیب آنها. این روش زمانی کاربرد دارد که نمیخواهید از بستههای آماده مثل Breeze، Jetstream یا Fortify استفاده کنید، یا نیاز به کنترل دقیقتر دارید.
✅ فصل ۱: ساخت ساختار احراز هویت دستی
🔹 گام ۱: جدول کاربران را بساز یا مایگریت کن
اگر هنوز جدول users را نداری، اجرا کن:
این دستور جدول users را طبق
database/migrations/xxxx_create_users_table.phpمیسازد.
✅ فصل ۲: ساخت فرم لاگین و ثبتنام
🔹 ۲.۱. روتها
در فایل routes/web.php بنویس:
✅ فصل ۳: ساخت کنترلر احراز هویت
🔹 app/Http/Controllers/AuthController.php
✅ فصل ۴: ساخت ویوهای فرم احراز هویت
🔹 resources/views/auth/login.blade.php
🔹 resources/views/auth/register.blade.php
✅ فصل ۵: ساخت صفحه محافظتشده (مثلاً داشبورد)
روت:
✅ فصل ۶: نکات امنیتی
-
استفاده از
Hash::make()برای رمز عبور -
استفاده از
@csrfدر فرمها -
استفاده از middleware
authبرای جلوگیری از دسترسی کاربران غیرمجاز -
استفاده از
session()->regenerate()بعد از لاگین برای امنیت بیشتر
✅ فصل ۷: احراز هویت با شماره موبایل (اختیاری)
اگر بخوای احراز هویت با شماره موبایل داشته باشی:
-
یک فیلد
phoneبه جدول users اضافه کن. -
در کنترلر
Auth::attempt(['phone' => $request->phone, 'password' => ...])بنویس. -
ورودی فرمها رو هم اصلاح کن.
✅ نتیجهگیری
با احراز هویت سفارشی در لاراول میتونی کنترل کامل روی روند لاگین، ثبتنام، و لاگاوت داشته باشی. این روش برای پروژههایی که نیازهای خاص امنیتی یا UX دارند خیلی مفیده.
اگه خواستی نسخه API همین سیستم رو هم میتونم برات بسازم با Sanctum یا Passport. فقط بگو.