Поиск…
Управление безопасностью
Безопасность была частью темной стороны документации по symfony, она имеет выделенный компонент с именем Security Component .
Этот компонент настроен в файле security.yml основного проекта приложения.
Конфигурация по умолчанию выглядит так:
# app/config/security.yml
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
Вы можете определить конкретные межсетевые экраны, чтобы ограничить доступ к некоторым URL- адресам определенным ролям на основе иерархии для ваших пользователей , которые определены Поставщиком и кодонами, которые управляют безопасностью пароля.
Например, если вы хотите создать настраиваемый поставщик , из своего механизма базы данных вы можете определить security.yml следующим образом:
providers:
your_db_provider:
entity:
class: AppBundle:User
property: apiKey
Это подробно описано в документации Symfony. Как определить пользовательский UserProvider и, например, из базы данных или LDAP .
После этого вы можете определить брандмауэр, чтобы ограничить некоторый URL на основе пользовательского провайдера (security.yml), как это явно:
firewalls:
secured_area:
pattern: ^/admin
Или с контролем доступа :
access_control:
- { path: ^/admin/users, roles: ROLE_SUPER_ADMIN }
- { path: ^/admin, roles: ROLE_ADMIN }
Подробнее Более детальную документацию здесь .
Лучший способ управлять пользователем - использовать FosUserBundle, который расширяет некоторые функциональные функции Framework.