내 REST 응용 프로그램에 대한 FOSOAuthBundle을 사용하고심포니 보안 FOSOAuthServerBundle 공공 및 민간 경로
내가 그러나 나는이공공 액세스 할 수 있어야하는 몇 가지가 인증을 필요로 내 경로의 대부분을 싶습니다
내 security.yml에 다음과 같은 예를 들어
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
oauth_token:
pattern: ^/login
security: false
api:
pattern: ^/
fos_oauth: true
stateless: true
anonymous: false
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: [ IS_AUTHENTICATED_FULLY ] }
:
나는 제품이 Entity
및 Controller
나는 그래서 Read
를 제외하고 개인이 될하기 위해 CRUD
작업을 싶습니다 GET
공개해야한다 동안 POST, PUT, DELETE on /products(/:id)
개인이어야한다. 나는이 /products
의 모든 methods
열 것이라고 생각
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/products$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: [ IS_AUTHENTICATED_FULLY ] }
하지만 오류 얻을 :
나는하여 access_control에 다음을 추가 시도
{
"error": "access_denied",
"error_description": "OAuth2 authentication required"
}
내가 가지고있는이 많은 entities
및 controllers
나는 이것을 적용하려고 노력하고있다.
특정 경로 (예 : method
요구 사항 포함)를 여는 방법은 무엇입니까?
원하는 경우 주석을 사용하여이를 수행 할 수도 있습니다. '* @Secure (roles = "ROLE_ADMIN")' – JezEmery