آموزش مقدماتی لاراول - پیاده‌سازی احراز هویت و ثبت‌نام

در مقاله پیشین در مورد برنامه‌نویسی فرانت‌اند در لاراول و ابزارهایی که در آن موجود هست مواردی رو مطرح کردیم. در ادامه سعی داریم با کمک bootstrap فرایند احراز هویت و ثبت‌نام کاربران رو به ساده‌ترین شکل ممکن پیاده‌سازی کنیم.


لاراول سرویس‌های مختلفی رو برای احراز هویت کاربران ارائه میده. اما از آنجایی که در دوره پیشرو یک آموزش مقدماتی ارائه می‌کنیم لذا موضوع را به ساده‌ترین شکل ممکن پیاده سازی خواهیم کرد. همانطور که در مقاله قبل هم گفته شد ما از پکیج laravel/ui و فریم ورک bootstrap استفاده کردیم. بر این اساس با دستور زیر موارد مورد نیاز برای پیاده سازی یک سیستم احراز هویت در فریم ورک bootstrap در پروژه ما نصب خواهد شد:

Image for post
Image for post

همانطور که در تصویر فوق مشاهده می کنید به دلیل وجود home.view در مسیر فایلهای blade از ما در مورد جایگزینی با view پیش‌فرض خودش می‌پرسه. در اینجا ما این تغییر را می‌پذیریم بخاطر اینکه در home ما اطلاعات مهمی وجود ندارد.

Image for post
Image for post

همانطور که مشاهده می‌کنید پس از نصب فایل‌های مربوط ثبت‌نام داخل پروژه‌مون اضافه شدند. مورد دیگه قالبی هست که در فولدر layout که برای صفحات جدید در نظر گرفته شده. من قالب خودمون رو با این قالب جدید یکپارچه کردم و کمی تغییر دادم که شما می‌توانید خروجی کار رو در گیت‌هاب آموزش مشاهده کنید.

Image for post
Image for post

تو نگاه اول چیزی که تو ذوق میزنه فارسی نبودن قالب هست. در این مورد و نحوه تغییر زبان در مقاله بعدی تمام مواردی که لازم هست تا هر پروژه‌ای رو تغییر زبان بدیم صحبت خواهیم کرد. 

خب حالا اگه به فایل مسیرها بریم متوجه دوتا تغییر میشیم، یکی موردی که مربوط به مسیر‌های مربوط به فرآیند احراز هویت میشه. لاراول هرچیزی که نیاز داره رو در دستور زیر خلاصه کرده:

Auth::routes();

کل مسیرهایی که در این فرآیند استفاده میشه بصورت زیر هست

Image for post
Image for post

مورد دیگری که به پروژه اضافه شده controller هایی هست که در دایرکتوری controller/Auth قرار دارند. اما اگر این کنترل‌ها رو نگاه کنید عملا هیچ تابعی که در فرآیند اصلی وجود دارد رو مشاهده نمی‌کنید. لاراول برای این‌منظور تمام توابعی که نیاز داره رو در یک فایل trait بنام AuthenticatesUsers قرار داده. 

خب حالا اگر وارد nav.balde.php بشید متوجه یک تابع کمکی خواهید شد که با کمک اون می‌تونید مواردی که به کاربران مهمان نشان می‌دهید با کاربرانی که در سیستم عضو شدند را جدا کنید:

 @guest
 	// only for guest
 @else
 	// only authorized users
 @endguest

در لاراول کلاس بسیار مهم و کاربردی دیگری به نام Auth وجود داره که با کمک اون میتونید خیلی راحت کاربر سیستم و مهمان رو از یکدیگر تشخیص بدید و در هر قسمت می‌تونید محتوا را با اطلاعات کاربر لاگین شده ارائه بدهید. برای نمونه در قطعه کد زیر اگر کاربر لاگین باشد محتویات div به او نشان داده خواهد شد.

 @if(Auth::check())
    <div> {{ Auth::user()->name }} خوش آمدید</div>
@endif

در این مقاله شما توانستید یک سیستم احراز هویت بسیار ساده در لاراول پیاده کنید ولی هنوز موارد بسیار زیادی در مورد اعتبار سنجی کاربران هست که در مقالات آتی به آن‌ها اشاره خواهم کرد.