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