كيفية إدارة العديد من جدران الحماية في symfony 3.4

1

أحاول إدارة الواجهة الأمامية والخلفية مع دور مستخدم مختلف. وأضاف داخل security.yml هذا

security:
    providers:
        admin:
            entity:
                class:      LoginBundle:Usuarios
                property:   mail
        external:
            entity:
                class:      LoginBundle:UsuariosExternos
                property:   mail

    firewalls:
        # disables authentication for assets and the profiler, adapt it according to your needs
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: true
            provider: admin
            form_login:
                login_path: /
            logout:
                path:   logout
                target: /
            access_denied_url: /eu/
        external:
            anonymous: true
            provider: external
            form_login:
                login_path: /
            logout:
                path:   logoutExternalUser
                target: /

مع هذا الجدار الناري المشفر الخارجي لا يعمل وعندما أقوم بتسجيل الدخول كواجهة خارجية (الواجهة الأمامية) يكون مسار تسجيل الخروج هو / تسجيل الخروج وليس logoutExternalUser. أيضًا مع هذا التكوين إذا قمت بكتابة المسار / المشرف فإنه يذهب إلى / وليس إلى / admin / تسجيل الدخول نحاول استخدام AccessDeniedHandlerInterface ولكننا لا نعرف كيفية الحصول على دور المستخدم في ذلك المثيل.

أي مساعدة؟

1 إجابة

3
افضل جواب

أنت تفتقد الأنماط. هذا هو السبب في أن الجدران النارية لا تطلق النار.

يجب عليك تعيين النمط الذي يستمع إليه.

تحقق ، لقد قمت بتحديث الرمز.

أوصيك بالتحقق من https://symfony.com/doc/3.4/security/guard_authentication.html

إنها طريقة لطيفة لإنشاء أي نوع من المصادقة التي تحتاجها ، إذا لم يعمل الأمان الافتراضي لك.

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام