你好,我跟着這個教程: http://symfony.com/doc/current/cookbook/security/entity_provider.htmlSymfony2的登錄一直說不好憑據
我security.yml:
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
modules\UserBundle\Entity\User:
algorithm: sha1
encode_as_base64: false
iterations: 1
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
chain_provider:
chain:
providers: [in_memory, user_db]
in_memory:
memory:
users:
test: { password: test }
user_db:
entity: { class: modulesUserBundle:User }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/demo/secured/login$
security: false
login_firewall:
pattern: ^/login$
anonymous: ~
secured_area:
pattern: ^/
provider: user_db
http_basic:
realm: "Secured Demo Area"
provider: in_memory
form_login: ~
logout:
path: _demo_logout
target: _demo
#anonymous: ~
#http_basic:
# realm: "Secured Demo Area"
admin_area:
pattern: ^/admin
http_basic: ~
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/users, roles: ROLE_SUPER_ADMIN }
- { path: ^/admin, roBad credentialsles: ROLE_ADMIN }
#- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
在數據庫中我有這樣的:
用戶:
(id, username, salt, password, email, is_active)
(1,'admin','123456','7c4a8d09ca3762af61e59520943dc264','[email protected]',1)
(2,'bruno','123456','7c4a8d09ca3762af61e59520943dc264','[email protected]',1)
角色:
(id, name, role)
(1,'Admin','ROLE_ADMIN')
(2,'User','ROLE_USER')
USER_ROLE:
(user_id, role_id)
(1,1)
(2,2)
每次我試圖從DB一個用戶我 「壞憑據」 登錄。 但是,如果我用'測試'用戶登錄,在in_memory中定義,沒有問題
我認爲錯誤是在我的security.yml中。但是我做錯了什麼?
你檢查日誌文件? –