Laravel 5.7 的 Gate 和 Policy 已支持对未登录用户的检测

在Laravel 5.6及更低版本中,授权关卡和策略会自动为未经身份验证的用户返回false。 在Laravel 5.7中,现在可以使用可空类型提示或将默认值设置为null来允许访客进行授权检查:

<?php

Gate::define('view-post', function (?User $user) {
    // Guests
});

通过使用可空的类型提示,当访客被传递到授权验证的关卡时,用户对象变量$user 将为空, 然后你可以决定是否授权用户通过权限验证(获得授权)。如果你允许用户对象变量$user 可空,并且返回 true, 那么这个访客就会直接获得授权。

如果你不使用 nullable 类型提示,未登录的用户将被自动定向到这个精美的403页面, 由 Steve Schoger (@steveschoger) 设计:

file

Laravel 5.7 已发布,详见:https://learnku.com/laravel/t/16757


Practice makes perfect.

原文地址:https://laravel-news.com/laravel-5-7-gue...

译文地址:https://learnku.com/laravel/t/16824

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2

:flushed: 我是来测试表情的

6个月前

年纪大了,差点都不认识 ?User 这个特性了

6个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!