Поиск…


Управление безопасностью

Безопасность была частью темной стороны документации по 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.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow