laravel 中的Gates,以及修改模型

Gates 是一个用于判断用户是否有权进行某项操作的闭包,通常使用Gate 门面定义在 App\Providers\AuthServiceProvider类中。Gates 总是接收用户实例作为第一个参数,还可以接收相关的Eloquent 模型实例作为额外参数:

导入命名空间

use Illuminate\Support\Facades\Gate;

如果不设置的话,就是默认传入的就是默认的Auth门脸中的User类的登陆信息

如果想修改的,先定义出宁一个auth登陆的用户,

 

在用到这个验证的路由外面必须定义中间件,定义的是admin那就就去auth.php中找到对面的模型,然后展示出来

 

 

用法也非常简单,我写的是一个循环定义权限的一个路由,我这边要传入一个当前的用户,直接在后面

 

if (Gate::allows('update-post', $post)) {
    // 当前用户可以更新文章...
}

 

 
posted @ 2018-01-26 15:25  万隆  阅读(261)  评论(0编辑  收藏  举报