10.6. 删除微博

删除微博

现在我们已能够在主页上看到微博动态流的数据展示了。但现在用户还不能删除自己发布过的微博,让我们来加上删除功能。

授权策略

我们需要使用授权策略来对用户进行授权删除的操作,只有当被删除的微博作者为当前用户,授权才能通过。运行下面命令生成微博授权策略。

$ php artisan make:policy StatusPolicy

我们需要在该授权策略中引入用户模型和微博模型,并添加 destroy 方法定义微博删除动作相关的授权。如果当前用户的 id 与要删除的微博作者 id 相同时,验证才能通过。

app/Policies/StatusPolicy.php

<?php

namespace App\Policies;

use Illuminate\Auth\Access\HandlesAuthorization;
use App\Models\User;
use App\Models\Status;

class StatusPolicy
{
    use HandlesAuthorization;

    public function destroy(User $user, Status $status)
    {
        return $user->id === $status->user_id;
    }
}

不要忘记,我们还需要在 AuthServiceProvider

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
贡献者:1
讨论数量: 3

Johnswing
5.8 版本还需要对授权策略进行配置,方能正常显示删除按钮
1 个点赞 | 1 个回复 | 分享 | 课程版本 5.8
删除按钮不显示
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.7
David_lk
点击删除按钮后报错
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7