1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
   | security:
    encoders:
     #   Symfony\Component\Security\Core\User\User: plaintext
        "FOS\UserBundle\Model\UserInterface": sha512
 
    role_hierarchy:
        ROLE_ADMIN:  [ROLE_USER]
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
 
    providers:
        in_memory:
            memory:
                users:
                    user:  { password: userpass, roles: [ 'ROLE_USER' ] }
                    admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
        fos_userbundle:
            id: fos_user.user_manager
 
 
    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
 
         # Firewall pour les pages de connexion, inscription, et récupération de mot de passe
        login:
            pattern:   ^/(login$|register|resetting)  # Les adrregister et resetting
            anonymous: true                          # On autorise bien évidemment les anonyesses de ces pages sont login, mes sur ces pages !
 
                           #anonymous: ~
            #http_basic:
            #    realm: "Secured Demo Area"
 
         # Firewall principal pour le reste de notre site
        main:
            pattern: ^/                     # ^/ = tout ce qui commence par / = tout notre site
            anonymous: ~
            form_login:                      # On définit notre méthode d'authentification
 
                provider:    fos_userbundle  # On lit l'authentification au provider définit plus haut
                login_path: /login
                always_use_default_target_path: true
                default_target_path: /traitementDonnees
                remember_me: true            # On active la possibilité du "Se souvenir de moi" (désactivé par défaut)
                check_path: /login_check
 
            remember_me:
                key:         %secret%        # On définit la clé pour le remember_me (%secret% est un parametre de parameters.ini)
            anonymous:       true            # On autorise les utilisateurs anonymes (non identifiés)
            logout:          true            # On autorise la déconnexion manuelle (désactivé par défaut)
    access_control:
    # liste des pages accessibles a tous les utilisateurs
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY}
        #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
        #- { path: ^/_internal, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
        #route accessibles si authentifiées
        - { path: ^/admin/.*, role: ROLE_ADMIN }
        - { path: ^/, role: ROLE_USER} | 
Partager