Проблема в том, что и FormRequest::authorize
, и resource policy
вызываются до проверки FormRequest.
Сценарий:
Я хочу аутентифицировать создание категории в определенном отделе,Полезная нагрузка запроса содержит label
и department_id
.
. Не каждому пользователю разрешено создавать категории.Это ограничено разрешением на запись своего отдела.На фоне, что проверка подлинности следует за аутентификацией, я получаю либо:
ModelNotFoundException
, если department_id
недопустим (мне нужно получить его, чтобы проверить разрешение на запись).
или:
Unauthorized
если я пропущу Department :: find или перехватим исключение при вызове Policy :: create (так как проверка фактического разрешения отдела не удалась)
Мое текущее решение - создать createCategoryValidator в моей политике и выдать исключение ValidationException в случае сбоя.Это неправильно, я хотел бы знать, есть ли правильное решение для этого сценария?