Laravel 策略不会停止删除操作

标签 laravel laravel-5.4

我刚刚开始在 Laravel 5.4 中使用策略来处理我的授权。我一直在遵循官方文档并创建了一个PostPolicy。

<?php

namespace App\Policies;

use App\User;
use App\Post;
use Illuminate\Auth\Access\HandlesAuthorization;

class PostPolicy
{
    use HandlesAuthorization;

    public function delete(User $user, Post $post)
    {
        return false;
        //return $user->id === $post->user_id;
    }
}

我的目标是使用政策阻止删除帖子的能力。 我目前仍然可以删除,但找不到实现这些政策规则的方法。

最佳答案

您需要授权操作。例如,您可以这样做:

if ($user->can('delete', $post)) {

或者在 Controller 中:

$this->authorize('delete', $post);

https://laravel.com/docs/5.5/authorization#authorizing-actions-using-policies

关于Laravel 策略不会停止删除操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48033910/

相关文章:

php - Laravel 中的元数据对象处理

laravel - Laravel 5.4 和 PHP 7 的 Composer 更新 "Class Name must be a valid object or a string"

laravel - Javascript - 使用 moment.js 格式化日期/时间

php - Ubuntu 14.04 : Unable to locate package php7. 0-zip

php - 在存储库模式中保存关系的好方法是什么?

php - 安装 nginx 后找不到 Laravel 路由

php - 使用 Laravel 使自定义类在任何地方都可用

php - Laravel:左连接查询

php - 相当于mysql/laravel中的qualify语句?

php - Ajax 调用自动扩展 Laravel session ?