Не работает политика пользователя GraphQL Lighthouse-> can (‘просмотр’)

#laravel #graphql #authorization

#laravel #graphql #авторизация

Вопрос:

Политики GraphQL Lighthouse user->can('view') не работают, я создал политику и зарегистрировался также в AuthServiceProvider

 protected $policies = [
    'AppModelPost' => 'AppPoliciesMyPostPolicy',

];
 

Но я не могу получить доступ к этому условию

 ($user->can('update', $post)) {
    //user is authorized now
}
 

вышеупомянутый can не работает в laravel 6, пожалуйста, свяжитесь со мной, если мне нужно добавить какой-либо дополнительный шаг, пожалуйста, спасибо

Комментарии:

1. «не работает»: что не работает? Что находится внутри файла MyPostPolicy? По крайней мере, покажите его update функцию, чтобы мы могли видеть, что там происходит. Также убедитесь, что код действительно доступен, добавьте вызов дампа для проверки.

Ответ №1:

Я обновил свой config/ligthouse.php промежуточное программное обеспечение файла, подобное этому, чтобы заставить его работать:

    'middleware' => [            LaravelSanctumHttpMiddlewareEnsureFrontendRequestsAreStateful::class,
NuwaveLighthouseSupportHttpMiddlewareAcceptJson::class,
NuwaveLighthouseSupportHttpMiddlewareAttemptAuthentication::class
],