博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
laravel中的plicy授权方法:
阅读量:6440 次
发布时间:2019-06-23

本文共 1125 字,大约阅读时间需要 3 分钟。

1.用命令新建policy:

php artisan make:policy PostPolicy

  

2.在app/Policies/PostPolicy.php中添加处理文件的权限的方法:

//修改:    public function update(User $user, Post $post)    {        return $user->id == $post->user_id;    }    //删除权限:    public function delete(User $user, Post $post)    {        return $user->id == $post->user_id;    }

  

控制器中,添加权限限制:

//更新文章:    public function update(Post $post)    {        //验证:        $this->validate(request(), [            'title' => 'required|string|max:100|min:10',            'content' => 'required|string|min:4'        ]);        $this->authorize('update', $post);        //逻辑:        $post->title = \request('title');        $post->content = \request('content');        $post->save();        return redirect("/posts/{$post->id}");    }    //删除逻辑:    public function delete(Post $post)    {        $this->authorize('delete', $post);     //TODD 用户的权限验证:     $post->delete();     return redirect("/posts");   }

  

在视图中,对授权的使用:

{
{$post->title}}

@can('update',$post)
@endcan @can('delete',$post)
@endcan

  

 

转载地址:http://etdwo.baihongyu.com/

你可能感兴趣的文章
实操演练!MathType几个绝妙小技巧!
查看>>
ChemDraw常用到的几种技巧
查看>>
通过查询java API中的String类完成任务
查看>>
linux下SNMP方式监控 (三)
查看>>
awk使用案例总结
查看>>
电脑结构和CPU、内存、硬盘三者之间的关系
查看>>
PHP单引号和双引号的区别
查看>>
超详细hadoop集群服务器安装配置教程
查看>>
puppet运维配置实列
查看>>
css中单位 px、em 的区别【转载】
查看>>
Spring执行任务(四)之Quartz(不继承QuartzJobBean类)
查看>>
python3导入paramiko模块
查看>>
软件项目送上门来了,还要学会说"不",接了项目拿了定金噩梦才刚刚开始
查看>>
循环、迭代、遍历和递归
查看>>
忘记mysql的root密码
查看>>
使用JavaScript 和 CSS 实现图像缩放和剪裁(转)
查看>>
我的友情链接
查看>>
Code Kata 5
查看>>
RHCE_LAB(4)GRUB提升安全性保护root密码安全
查看>>
Zabbix实现微信平台报警----基于zabbix3.0.4
查看>>