campaign-off40

آشنایی با احراز هویت یا Authentication در لاراول



visibility  
mode_comment   ۳

راه اندازی یک پروژه با فریمورک لاراول بسیار ساده است. بسیاری از امکانات سایت مانند احراز هویت به صورت پیشفرض در لاراول تعریف شده اند و کدهای آن ها آماده استفاده است. در بسیاری از پروژه ها احتیاجی به ایجاد تغییر در سیستم احراز هویت پیشفرض لاراول نیست. یعنی برای استفاده از آن کافی است سیستم احراز هویت را فعال کنید. در این مطلب قصد داریم به آموزش فعالسازی و استفاده از سیستم احراز هویت لاراول بپردازیم. پس تا پایان مقاله با ما همراه باشید و آموزش را دنبال کنید.

آموزش احراز هویت لاراول

آموزش فعالسازی سیستم احراز هویت در فریمورک لاراول

در این بخش می آموزید که چگونه سیستم احراز هویت پیشفرض لاراول یا Auth را فعال و از آن استفاده کنید. در این مطلب از لاراول 5.8 استفاده کرده ایم. پس از نصب فریمورک لاراول شروع به دنبال کردن ادامه آموزش کنید. اگر با نصب و شروع کار با فریمورک لاراول آشنایی ندارید می توانید مقاله ما در مورد شروع کار با فریمورک لاراول را مشاهده کنید.

آماده سازی تنظیمات دیتابیس

مایگریشن (Migration) مربوط به جداول کاربران و بازیابی رمز عبور آن ها به طور پیشفرض در پوشه database>migrations ایجاد شده است. اگر ستون های اضافه ای برای جدول کاربران خود در نظر گرفته اید، می توانید آن ها را در مایگریشن جدول کاربران یعنی create_users_table.php وارد کنید. مثلا ما در اینجا ستونی به نام Phone از نوع رشته یا String به ساختار جدول اضافه می کنیم:

حال باید دستور migrate را اجرا کنید تا جداول مربوط به آن ها در دیتابیس ایجاد شود. اما قبل از این کار نیاز دارید که اطلاعات دیتابیس خود را به لاراول معرفی کنید. بنابراین MySQL سیستم را فعال کرده و یک دیتابیس جدید با نام auth یا هر نام دلخواه دیگر در آن بسازید:

پس از ساخته شدن دیتابیس باید اطلاعات آن را به لاراول معرفی کنیم. فایل .env در پوشه اصلی پروژه را باز کنید. به بخشی از فایل بروید که اطلاعات دیتابیس در آن قرار دارد:

نام دیتابیس، هاست آن، نام کاربری و رمز عبور را به تناسب تنظیمات خودتان وارد کنید. خط فرمان را در مسیر پوشه پروژه باز کرده و دستور زیر را در آن وارد کنید:

اگر همه چیز درست پیش رفته باشد عملیات مایگریشن با پیام Migration table created successfully. به پایان می رسد. می توانید برای دیدن جداول، دیتابیس خود را باز کنید.

راه اندازی سیستم احراز هویت

سیستم احراز هویت شما تقریبا آماده است. اما اگر پروژه لاراولی خود را با دستور php artisan serve راه اندازی کنید، می بینید که اثری از Route های مخصوص احراز هویت نیست. برای راه اندازی این سیستم نیاز به وارد کردن یک دستور در خط فرمان خود دارید. بنابراین خط فرمان را در پوشه پروژه باز کرده و دستور زیر را در آن وارد کنید:

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

Route های مربوط به احراز هویت

بیایید اول نگاهی به Route ها در فایل web.php بیندازیم. همانطور که می بینید دو روت جدید به پروژه مان اضافه شده است:

Auth::routes()تمام روت های مربوط به سیستم احراز هویت مثل روت های ورود، ثبت نام و بازیابی رمز عبور را به پروژه اضافه می کند. روت دوم home نام دارد که کاربر بعد از ورود، به این مسیر هدایت خواهد شد. شما می توانید با دستور php artisan route:list [/ltr] لیست تمام این روت ها را ببینید. اما برای راحتی کار ما تمام این روت ها را برای شما لیست کرده ایم:

البته احتیاجی نیست که این روت ها را به فایل wep.php اضافه کنید. چرا که همانطور که گفتیم تمام این روت ها در دستور Auth::routes() خلاصه شده اند. اما با استفاده از راهنمای بالا می توانید بفهمید برای دسترسی مستقیم به هر روت می توانید از چه مسیری استفاده کنید.

نمایش محتوا به کاربران وارد شده

در این لحظه زمان آن رسیده که قدرت واقعی لاراول را ببینیم! یک صفحه جدید برای خود بسازید. در ویو صفحه متنی بنویسید که دوست دارید فقط برای کاربران وارد شده نمایش داده شود و یا یک المنت HTML بسازید. انجام دادن این کار بسیار ساده است! فرض کنید المنت با id=”newElement” المنتی است که می خواهیم از دسترس کاربران مهمان خارج شود:

اگر از اکانت خود خارج شوید و یا هنوز وارد نشده باشید، با اجرای این صفحه المنت جدید را نخواهید دید. به طور کلی برای نمایش دادن اطلاعات مخصوص به کاربران وارد شده می توانید از دستور @auth در blade به این صورت استفاده کنید:

برای نمایش اطلاعات به کاربران وارد نشده هم می توانید از دستور @guest به این صورت استفاده کنید:

در بعضی موقعیت ها احتیاج داریم اطلاعات کاربری که وارد شده است را به دست آوریم. انجام این کار هم بسیار ساده است. کافی است به این صورت عمل کنیم:

جمع بندی

فریمورک لاراول در نسخه 5.8 خود تمامی امکانات یک سیستم احراز هویت کامل را در خود به طور پیشفرض آماده کرده است. این امکانات شامل ثبت نام، ورود، بازیابی رمز عبور و ارسال ایمیل تایید حساب کاربری می شود. می بینید که به ندرت اتفاق می افتد پروژه ای به امکاناتی غیر از این موارد احتیاج داشته باشد. در این آموزش به معرفی سیستم احراز هویت پیشفرض لاراول و روش استفاده اولیه از آن پرداختیم. آیا شما تجربه استفاده از احراز هویت آماده فریمورک لاراول را داشته اید؟ نظرات شما را با لذت می خوانیم!

متخصص PHP
اگر دوست داری برنامه نویسی PHP رو حرفه ای یاد بگیری آیا می دانید بیش از ۸۰% وب سایت های موجود در ایران از جمله لیدرهای بازار وب (اسنپ، اسنپ فود، نت برگ، دیجیکالا، الوپیک و ... ) زبان برنامه نویسی PHP را به عنوان زبان اصلی برای پیاده سازی امکانات سمت سرور خود انتخاب کردند! متخصص PHP arrow_back
7Learn Experts
comment دیدگاه کاربران
Mohammad replyپاسخ

مقاله خوبی بود تشکر از تیم سون لرن!
فقط خواهشا بخش سرچ رو هم به سایت اضافه کنید تا بتونیم مقاله های مورد نظرمون رو پیدا کنیم.
به شخصه برای پیدا کردن یک ویدئو ضبط شده توسط استاد علی محمدی خیلی گشتم تا پیدا کردم!

زهرا فرحمند

سلام محمد عزیز. بخش سرچ در سایت وجود داره 🙂

علی رضوی replyپاسخ

عالی بود خانم فرحمند دستتون دردنکنه

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :