Laravel策略- $this->授权无效

1qczuiv0  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(164)

责任策略:

class TaskPolicy
{
    use HandlesAuthorization;

    public function canSeeTeam()
    {
        return true;
    }
}

身份验证服务提供程序:

class AuthServiceProvider extends ServiceProvider
{
    protected $policies = [
        'App\Models\Task' => 'App\Policies\TaskPolicy',
    ];

任务控制器:

public function update(Request $request, Task $task)
    {      
        $this->authorize('canSeeTeam');
        dd('Authorized!');
    }

我得到的不是Authorized!,而是:
“message”:“此操作未经授权。",“exception”:“Symfony\组件\Http内核\异常\拒绝访问Http异常”,
我登录了,并有权访问团队,这不重要,因为canSeeTeam总是true

cclgggtu

cclgggtu1#

您还必须将任务对象传递给authorize方法:

$this->authorize('canSeeTeam', $task);
gjmwrych

gjmwrych2#

请给我发送错误消息或替换为:

public function canSeeTeam()
    {
        return true; => return false;
    }

相关问题