عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن .و کاربرانی که دوره کامل آموزش laravel را دنبال می کنند. همزمان با بروزرسانی های امنیتی لاراول نسخه ۵٫۶ نسخه جدید لارول ۵٫۷ منتشر شده است. ویژگی Gates کاربر مهمان (Guest User Gates) یک افزودنی به آخرین نسخه ۵٫۷ منتشر شده در سپتامبر ۲۰۱۸ است. این ویژگی برای شروع فرایند مجوز برای کاربران خاص استفاده می شود، در ادامه برای آشنایی بیشتر با ویژگی کاربر مهمان در لاراول با ما همراه باشید.
در ادامه این مبحث با ارائه توضیحاتی مختصر در مورد ویژگی کاربر مهمان در لاراول شما را با این ویژگی آشنا خواهیم کرد.
در Laravel 5.6، یک روش غلطی که وجود داشت این بود که کاربران غیر مجاز به راحتی استفاده میکردند.
اما در Laravel 5.7، ما می توانیم با استفاده از نوع nullable برای کاربر مهمان مجوز تعریف کنیم:
1 2 3 4 | <?php Gate::define('view-post', function (?User $user) { // Guests }); |
با استفاده از یک اشاره nullable، متغیر user$ هنگامی که یک کاربر مهمان به دروازه منتقل می شود، صفر می شود.
پس از آن می توانید تصمیمی در مورد اعطای مجوز اعمال کنید.
اگر شما اجازه می دهید نوع Nullable و true را برگردانید،در این صورت مهمان مجوز خواهد داشت.
اگر از اشاره نوعی nullable استفاده نکنید مهمان به طور خودکار پاسخ ۴۰۳ برای Laravel 5.7 دریافت خواهد کرد.
که در زیر نمایش داده می شود.
تفاوت بین ۴۰۳ و ۴۰۴ خطا این است که خطای ۴۰۴ زمانی نمایش داده می شود که کاربر سعی در دسترسی به منابع ناشناخته یا URL اشتباه داشته باشد. و خطای ۴۰۳ که در تصویر بالا نیز مشاهده میکنید زمانی رخ میدهد که کاربر غیرمجاز درخواست دسترسی به وب سایت راداشته باشد.
Gates کاربر مهمان (Guest User Gates) هم یک ویژگی جدید است که در لاراول ۵٫۷ ارائه میشود.
تا به امروز، زمانی که بازدیدکنندهها سعی در دسترسی به مسیرهای غیر مجاز داشتند.
لاراول مقدار false را بازمیگرداند، اما در لاراول ۵٫۷، شما میتوانید تنظیم کنید که در این شرایط مقدار null بازگردانده شود.