流明政策不适用于v5.6

时间:2018-06-07 10:33:55

标签: laravel-5 lumen lumen-5.4

我在lumen v5.6工作。在我的项目中,我有两个策略类名UserPolicy和CommentPolicy。现在我想删除注释,我在CommentPolicy类中定义了归档方法,但是当我可以从我的注释控制器中使用时,那么这个方法不会被调用,因为我需要在这个方法中实现一些逻辑。现在我不知道为什么没有从Comment Controller调用CommentPolicy方法。

以下是我编码的代码

在auth服务提供商中注册政策

Gate::policy(User::class, \App\Policies\CommentPolicy::class);

政策类

<?php
namespace App\Policies;
use App\Models\User;
use App\Models\PostComment;
class CommentPolicy
{

    public function archive(User $currentUser, PostComment $comment)
    {
        echo "Policy<pre>";
        print_r($comment->toArray());
        exit;
        return $currentUser->id === $comment->user_id;
    }

}

我的控制器方法

public function archiveComment(PostCommentRequest $request){
        $user = $this->getCurrentUser($request);
        $comment = $this->comment->getCommentById($request->get('data')['comment_id']);
        if($user->can('archive', $comment)){
            die('policy call');
        }
        die('policy not called');
    }

现在我担心的是我希望在评论策略类而不是UserPolicy类中接收数据,并实现删除评论授权的逻辑。

0 个答案:

没有答案