2011-03-23 267 views
1

我将使我的web项目(基于symfony2 PR5)适应symfony2 PR7。除了Security捆绑之外,一切都非常清楚。这里是我的安全配置:Symfony2安全问题

security: 
    encoders: 
     Application\PermissionsBundle\Entity\Stuff: sha1 
    providers: 
     main: 
      entity: { class: PermissionsBundle:Stuff, property: username} 
    firewalls: 
     main: 
      pattern: .* 
      form_login: 
       check_path: /login-check-admin 
       login_path: /login-admin 
       failure_path: /login-admin 
      logout:  true 
      anonymous: true 
     backend: 
      pattern: /admin.* 
      form_login: 
       check_path: /login-check-admin 
       login_path: /login-admin 
      logout: true 
      security: true 
      anonymous: false 
    access_control: 
     - { path: /admin.*, role: ROLE_ADMIN } 

路由配置:

_security_login: 
    pattern: /login-admin 
    defaults: { _controller: PermissionsBundle:Security:login } 

_security_check: 
    pattern: /login-check-admin 

_security_logout: 
    pattern: /logout-admin 

_security_status: 
    pattern: /sec_status 
    defaults: { _controller: PermissionsBundle:Security:status } 

_security_get_username: 
    pattern: /security/get/username 
    defaults: { _controller: PermissionsBundle:Security:getUserName } 

当我尝试验证,我得到一个404 FPR登录检查: 萤火虫输出:http://impic.ru/uploads/2011/2303/53849205_61601933.jpeg

任何人可以请帮助我有这个问题吗?此代码在PR5中正常工作,但不在PR7中。官方symfony文档尚未更改。也许我错过了什么?

+0

我已经exaclly相同的问题,我不知道如何解决它:(。 – Wojciech 2011-03-26 16:43:17

回答

1

解决方案很简单。您无法自定义注销和login_check路由模式。这意味着你的security.yml文件应该是这样的:

form_login: 
    check_path: /login_check 
    login_path: /login 

和你的routing.yml文件应该是这样的:

_security_check: 
    pattern: /login_check 
_security_logout: 
    pattern: /logout 

这些工作对我来说完美。