Download the PHP package devtools-marvellous/security-request without Composer
On this page you can find all versions of the php package devtools-marvellous/security-request. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download devtools-marvellous/security-request
More information about devtools-marvellous/security-request
Files in devtools-marvellous/security-request
Package security-request
Short Description Amondar Security Request
License MIT
Informations about the package security-request
Amondar Security Request.
По любым вопросам образаться на e-mail - [email protected].
Пакет предназначен для изменения и расширения работы стандартныйх Laravel реквестов в защищенных секциях сайта.
!!! ВАЖНО!!! Для работы с Laravel начиная с версии 5.6 использовать теги - "^2.0"
Для установки
Подключение
Подключите SecurityRequest трейт к своему реквесту или создайте обертку для CoreRequest, чтобы не подключать его постоянно.
Пример реквеста с использованием нашего трейта. Обратите внимание, используентся стандартный REST подход при котором на каждый конечный урл вешается один пермишн.
ВАЖНО: Для более общих пермишнов используйте мидлверы и обратитесь к документации ларавел.
Для проверок во всех функциях доступны переменные:
Как вы моджете заметить реквест стал более читабельным.
На каждый тип запросы можно построить свой независимый массив правил и сообщений для ответа на ошибки валидации.
ВАЖНО: Запросы типа PUT и PATCH обрабатываются в функциях с приставкой put - putAction
Пермишны и их возможности
Для того чтобы использовать преимущество читабельности, но опустить проверку пермишнов через Laravel Gate Facade используется имя пермишна - default. Это говорит трейту, что на данном запросе не нужна проверка пермишна. Пример с пермишном:
Данный ключ выполнит проверку - Auth::user()->can('change-log-delete'). В случае, если пользователь не имеет права выполнять запрошенное дейсвие - будет возвращен ответ 403
Возможности расширения
Если необходимо описать на один и тот же типа запроса, например, PUT, несколько запросов с разным набором правил валидации : можно воспользоваться ключем - route
В данном случае трейт проведет сравнение урла в реквесте при помощи стандартной функции Laravel:
В случае успеха данной проверки будет проверен и пермишн доступа для залогиненного юзера.
ВАЖНО: при появлении таких ключей где используется формулировка с route Правила именования функций для таких экшнов меняются. В данной ситуации экшны будут выглядеть так:
Для ввода дополнительных правил проверки в стандартной функции Laravel - autorise переопределите ее и не забудьте по умолчанию вернуть ответ parent функции.
По любым вопросам образаться на e-mail - [email protected]