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");
  }

  

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

<div style="display:inline-flex">
<h2 class="blog-post-title">{{$post->title}}</h2>
@can('update',$post)
<a style="margin: auto" href="/posts/{{$post->id}}/edit">
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
</a>
@endcan
@can('delete',$post)
<a style="margin: auto" href="{{url('/posts/'.$post->id.'/delete')}}">
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
</a>
@endcan
</div>

  

laravel中的plicy授权方法:的更多相关文章

  1. PHP Laravel 中使用简单的方法跟踪用户是否在线

    今天,我的任务是,在 Laravel 应用程序用户个人资料页面上,用户名旁边添加一个绿点,表示他们是否在线.我首先想到的是,我们将需要启动一个 node.js 服务器并跟踪每个用户的活动套接字连接.然 ...

  2. 网上很多laravel中cookie的使用方法。

    https://blog.csdn.net/chen529834149/article/details/75244718 概述 Cookie的添加其实很简单,直接使用Cookie::make(),在使 ...

  3. laravel中resource资源路由方法

    新增的 resource 方法将遵从 RESTful 架构为用户资源生成路由.该方法接收两个参数,第一个参数为资源名称,第二个参数为控制器名称. Route::resource('users', 'U ...

  4. Laravel中不可逆的加密方法

    1 //对 A 密码使用Bcrypt 加密 2 $password = Hash::make('secret'); 3 4 //你也可直接使用 bcrypt 的 function 5 $passwor ...

  5. laravel中如何执行请求

    laravel中如何执行request请求?本篇文章给大家介绍关于laravel中执行请求的方法,需要的朋友可以参考一下,希望对你有所帮助. 我们先来看一下request是什么? 客户端(例如Web浏 ...

  6. laravel中请求用例$request可用的一些方法小结

    laravel中$request可用的一些方法小结 1,请求方法的获取 $method = $request->method(); 2,检测请求方法 $res = $request->is ...

  7. Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO

    我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动 ...

  8. laravel中redis各方法的使用

    在laravel中使用redis自带方法的时候会发现许多原生的方法都不存在了,laravel对其进行了重新的封装但是在文档中并没有找到相关的资料最后在 \vendor\predis\predis\sr ...

  9. Laravel中利用队列发送邮件的方法示例

    https://www.jb51.net/article/121647.htm 本文主要给大家介绍了关于Laravel中队列发送邮件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的 ...

随机推荐

  1. leecode第一百二十二题(买卖股票的最佳时机II)

    class Solution { public: int maxProfit(vector<int>& prices) { int len=prices.size(); ) ; , ...

  2. leecode第二十一题(合并两个有序链表)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  3. 温馨小程序前端布局Flex

    伸缩容器支持的属性有: 1,display 2,flex-direction 3,flex-wrap 4,flex-flow 5,justify-content 6,align-items 7,ali ...

  4. Robot framework--内置库xml学习(一)

    Using lxml By default this library uses Python's standard ElementTree module for parsing XML, but it ...

  5. English trip EM2-PE-6B Teacher:Taylor

    课上内容(Lesson) 词汇(Key Word ) engage [ɪn'ɡedʒ] 订婚 miracle ['mɪrəkl]  n. 奇迹,奇迹般的人或物:惊人的事例 personality  性 ...

  6. Gartner:影响2019年基础设施和运营的十大趋势

    ​​关注嘉为科技,获取运维新知 基础设施和运营(I&O)正越来越多地涉及现代企业的前所未有的领域.比起数据中心.托管和云等技术元素,I&O领导者们更多地着眼于如何让组织的基础架构和运营 ...

  7. p2693 Combination Lock

    深搜,注意模n.用set去重. #include <iostream> #include <cstdio> #include <cmath> #include &l ...

  8. piggy.lnk 简析

    piggy.lnk 简析 SECTIONS { .data : { input_len = .; LONG(input_data_end - input_data) input_data = .; * ...

  9. Vue音乐项目笔记(二)

    1. Vuex https://blog.csdn.net/weixin_40814356/article/details/80347366 编写: 然后,在main.js中引入 在组件中改变stat ...

  10. php正则的使用

    函数 描述 preg_filter 执行一个正则表达式搜索和替换 preg_grep 返回匹配模式的数组条目 preg_last_error 返回最后一个PCRE正则执行产生的错误代码 preg_ma ...