Symfony2,2个捆绑包,2个安全提供程序和2个不同的登录页面

时间:2012-11-30 12:39:25

标签: symfony symfony-2.1

问题,我有2个捆绑包(SiteBundle和AdminBundle),每个捆绑包都有自己的登录页面和用户提供商。 对于SiteBundle,我使用注释路由,对于AdminBundle,我使用路由配置yml。 SiteBundle的登录工作正常,但我无法让Admin登录工作。 转到/ admin时,它会重定向到SiteBundle登录。进入/ admin / login进入AdminBundle登录页面。提供用户名和密码时,表示找不到_security_check的控制器。

security:
encoders:
    EQ\SiteBundle\Entity\User:
      algorithm:   sha512

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN

providers:
    main:
        entity: { class: EQ\SiteBundle\Entity\User }
    in_memory:
        memory:
            users:
                user:  { password: userpass, roles: [ 'ROLE_USER' ] }
                admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }

firewalls:
    secured_area:
        pattern: .*
        provider: main
        form_login: true
        logout:       true
        anonymous:    true
    admin_area:
        pattern: /admin/.*
        provider: in_memory
        anonymous: ~
        form_login:
            check_path: /admin/login_check
            login_path: /admin/login
        logout:
            path:   /admin/logout
            target: /admin/

access_denied_url:    ~
hide_user_not_found:  false
erase_credentials:    false

app / config中的路由文件:

eq_site:
  resource: "@EQSiteBundle/Controller/"
  type:     annotation
  prefix:   /

eq_admin:
  resource: "@EQAdminBundle/Resources/config/routing.yml"
  prefix:   /admin

_security_login:
  pattern:  /login
  defaults: { _controller: EQSiteBundle:User:login }

_security_check:
  pattern:  /login_check

_security_logout:
  pattern:  /logout

AdminBundle的路由文件:

eq_admin_homepage:
  pattern:  /
  defaults: { _controller: EQAdminBundle:Default:index }

eq_admin_projects:
  pattern:  /projects
  defaults: { _controller: EQAdminBundle:Projects:index }

_admin_security_login:
  pattern:  /login
  defaults: { _controller: EQAdminBundle:Default:login }

_admin_security_check:
  pattern:  /login_check

_admin_security_logout:
  pattern:  /logout

ps:我是sf2的新手

0 个答案:

没有答案