Bonjour,

Je dois faire héberger une application Symfony 4.2 en pre-prod n'ayant pas la possibilité de modifier les fichiers vhost (hébergement ovh avec seulement un FTP dans un dossier home). Comme je dois bloquer l'accès à cet environnement par un mot de passe, je me demande s'il y a une solution alternative au htaccess.

Il doit également bloquer l'accès au fichier médias !

Il y a bien la sécurité par fichier htaccess qui fonctionne mais je trouve que ses fichiers n'ont pas de sens dans mon application car ils vont au final dans le git et aussi le jour que je dois publier en prod je dois les modifier pour retirer la sécurité. Ou même si je met pas dans mon git, je risque d'oublier de ne pas écraser en pre-prod. Je me tourne donc vers le bundle sécurité de Symfony auquel je pense pourrait m'aider mais je galère sur un point.

Ce que je fais

Voici mon fichier security.yml. Pour le teste, j'utilise l'environnement "dev" pour l'obliger à avoir une pop-up pour s'authentifier avant de voir tout contenu.

security:
    # ...

    encoders:
        App\Entity\User:
            algorithm: bcrypt
        Symfony\Component\Security\Core\User\User: plaintext

    providers:
        app_user_provider:
            entity:
                class: App\Entity\User
                property: username
        in_memory:
            memory:
                users:
                    test:
                        password: test
                        roles: 'ROLE_HTTP'

    firewalls:
        dev: # TODO : Replace by preprod
            pattern:  ^/
            anonymous: false
            provider: in_memory
            http_basic:
                realm: 'Secured Area'
                provider: in_memory

        #        dev:
        #            pattern: ^/(_(profiler|wdt)|css|images|js)/
        #            security: false
        main:
            anonymous: true
            provider: app_user_provider
            guard:
                authenticators:
                    - App\Security\LoginFormAuthenticator
            logout:
                path: app_account_logout
                target: app_default_index

    access_control:
        - { path: ^/admin, roles: ROLE_STAFF }
        - { path: ^(%security_routing_locales%)/(%security_routing_locales_account%)/, roles: ROLE_USER }

Ce que j'obtiens / Ce que je veux

La partie pop-up fonctionne bien, mais quand je veux m'authentifier à mon compte utilisateur par le formulaire de compte, il ne veut pas me connecter car je suis déjà authentifié à un compte (test). Je pars donc dans l'idée qu'il faut autoriser le double compte juste pour cette env, et c'est là que je coince car je sais pas comment le faire...

Merci pour votre aide :)

Aucune réponse