2

こんにちは、誰かが私を助けることができるなら、問題を具体的に詳しく説明してください。secirity.yml access_control のセクションのアクセス許可に問題があります。security.yml を配置すると、次のようになります。

問題は、ログイン フォームが JavaScript をキャッチしないことです。

security:

firewalls:
    frontend:
        pattern:  ^/
        anonymous: ~
        form_login:
            login_path: /login
            check_path: /login_check
            default_target_path: /index
            success_handler: authentication_handler
        logout:
            path: /logout
            target: /login
            success_handler: authentication_handler
        security: true
        remember_me:
            key:      sitio123
            lifetime: 604800        # 7 * 24 * 3600 = 604.800 = 1 semana
        access_denied_handler: accessdenied_handler
      #primero deben de ir los usuarios anonimos si no se entra en loop redirect
access_control:
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/, roles: ROLE_U }
    - { path: ^/admin, roles: ROLE_A }


providers:
    chain_provider:
        providers: [in_memory, user_db]
    in_memory:
        users:
            foo: { password: test, roles: 'ROLE_A' }
            foo1: { password: test1, roles: 'ROLE_U' }
    user_db:
        entity: { class: mio\mioBundle\Entity\Empleado, property: username }

role_hierarchy:
    ROLE_A:       ROLE_U

encoders:
    mio\mioBundle\Entity\Empleado: { algorithm: sha1 }
    Symfony\Component\Security\Core\User\User: plaintext

線の削除

- { path: ^/, roles: ROLE_U } 

正常に動作しています。ありがとう。

4

1 に答える 1

1

これを別の行に追加してみてください:

access_control:
    ...
    - { path: ^/js/*, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    ...

これで、ログに記録したいロールROLE_Uを持たないユーザーが、JSへのアクセスを許可されます。

画像やCSSでもこれを行う必要があると思います!

于 2012-10-27T15:55:52.307 に答える