Как определить соглашение об именах объекта незащищенного метода в security.yml в symfony php?

Ниже мой файл security.yml, в котором 2 метода отлично работают как незащищенные. Но api_slots не работает как незащищенный метод. Я не знаю, как мне нужно определять имя объекта метода в security.yml, например имя метода getSlotsAction, и я создал его объект, например api_slots, потому что для unsecureListAction метод api_doctors-list используется и отлично работает по желанию.

security:
encoders:
    AppBundle\Entity\BaseUser:
        algorithm: bcrypt
        cost: 12

role_hierarchy:
    ROLE_USER: ROLE_USER
    ROLE_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH]

providers:
    admin:
        entity:
            class: AppBundle:AdminUser
            property: email
    api:
        entity:
            class: AppBundle:BaseUser
            property: authToken

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false

    api_slots:
        pattern: ^/api/slots$
        methods: [GET]
        security: false
        anonymous: true

    api_new_register:
        pattern: ^/api/users$
        methods: [POST]
        security: false
        anonymous: true

    api_doctors_list:
        pattern: ^/api/doctors$
        methods: [GET]
        security: false
        anonymous: true

    api_area:
        pattern: ^/api
        provider: api
        user_checker: psyma.security.app_user.checker
        guard:
            authenticator: psyma.security.token_authenticator
        stateless: true
        anonymous: false

        logout:
            path: admin_logout



    main:
        pattern: ^/
        anonymous: ~

access_control:
    - { path: ^/admin/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: "%requires_channel%" }
    - { path: ^/admin, roles: ROLE_ADMIN, requires_channel: "%requires_channel%" }
    - { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: "%requires_channel%" }
    - { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: "%requires_channel%" }

Вот имена моих методов для трех незащищенных объектов метода:

Для api_doctors_list

/**
 * @Route("")
 * @Method("GET")
 */
public function unsecureListAction() 

Для api_new_register

/**
 * @param Request $request
 *
 * @return JsonResponse
 * @Route("/users")
 * @Method("POST")
 */
public function patientRegistrationAction(Request $request)

и для api_slots

/**
 * Class SlotController.
 *
 * @Route("/slots")
 */
 class SlotController extends JsonController
 {
/**
* @Route("")
* @Method("GET")
*
* @param Request $request
* 
* @return JsonResponse
*/
//@Security("has_role('ROLE_DOCTORUSER') or has_role('ROLE_PATIENTUSER') ")

public function getSlotsAction(Request $request)

Версия Symfony? Уверен, что вы не используете 1.4. Может 2,8? Отладка консоли: маршрутизатор показывает ожидаемые маршруты? Наличие такого большого количества брандмауэров - это немного необычно. Обычно для такого рода вещей вы используете контроль доступа. И когда вы говорите, что api_slots не работает, что это значит? Маршрут не найден?

Cerad 19.12.2018 14:46

Объект api_slots не дает прямого доступа к методу getSlotsAction, он по-прежнему требует api_key, это то, что я имею в виду, api_slots не работает. К тому же я не строил его с нуля.

Faraz Tariq 20.12.2018 06:36
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
2
55
0

Другие вопросы по теме