2011-02-18 63 views
1

我對Symfony2的安全特性有疑問。我想在/my前綴下保護我的應用程序的特殊區域。Symfony2中的安全區域

我的配置看起來像如下:

security.config: 
    providers: 
     my: 
      entity: { class: MyUserBundle:User, property: username } 

    firewalls: 
     public: 
      pattern: /my/login.* 
      security: false 

     my: 
      pattern: /my.* 
      form-login: 
       check_path: /my/login_check 
       login_path: /my/login 
      logout: true 

    access_control: 
     - { path: /my/login.*, roles: IS_AUTHENTICATED_ANONYMOUSLY } 

當我嘗試訪問登錄區,一切正常,提交表單導致一個錯誤頁面,因爲沒有爲_security_check路線沒有註冊的控制,像其在guide描述:

_security_login: 
    pattern: /my/login 
    defaults: { _controller: MyUserBundle:Auth:login } 

_security_check: 
    pattern: /my/login_check 

我認爲正常的SecurityBundle黑客到這個過程,使得不需要控制器。 Symfony2的配置非常複雜。

我想我錯過了什麼,希望你能幫上忙。
在此先感謝!

回答

0

您必須定義一個防火牆(描述所有路由)並使用access_control部分設置確定安全區域。