我遇到了一個奇怪的問題。我有以下security.yml:Symfony安全:即使用戶不匹配角色,也不需要身份驗證
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
role_hierarchy:
ROLE_USER:
ROLE_EDITOR: [ROLE_USER]
ROLE_ADMIN: [ROLE_USER, ROLE_EDITOR]
providers:
in_memory:
memory:
users:
admin: { password: 123456, roles: [ 'ROLE_ADMIN' ] }
editor: { password: 123456, roles: [ 'ROLE_EDITOR' ] }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
backend:
pattern: ^/backend
anonymous: ~
provider: in_memory
form_login:
login_path: backend_login
check_path: backend_login_check
access_control:
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY, host: example\.com$ }
- { path: ^/backend_login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/backend, roles: ROLE_ADMIN }
- { path: ^/user/fetch, roles: ROLE_USER }
- { path: ^/level, roles: ROLE_USER }
- { path: ^/gallery, roles: ROLE_USER }
我有一個窗口開發機器與XAMPP運行,一切正常。我可以登錄到後端,如果我沒有登錄並嘗試打開後端路由,我將被重定向到登錄頁面。
這是我的迂迴部分:
backend_login:
pattern: /backend_login
defaults: { _controller: FooBackendBundle:Security:login }
backend_login_check:
pattern: /backend/login_check
但是當我上傳到我的集成Linux服務器,我可以打開後臺,而無需登錄它看起來像Symfony的不關心。當前用戶具有的角色。
代碼和symfony版本都是完全相同的(Symfony 2.3)。
如果我從後端防火牆中刪除anonymous: ~
部分,它將重定向到登錄頁面,但也會創建一個無意的重定向循環。
有沒有人有一個想法如何解決這個問題?