php – Symfony2 chain_provider in_memory用户登录“bad credentials”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Symfony2 chain_provider in_memory用户登录“bad credentials”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1606字,纯文字阅读大概需要3分钟。
内容图文
![php – Symfony2 chain_provider in_memory用户登录“bad credentials”](/upload/InfoBanner/zyjiaocheng/794/1c546ace43f44703a02aed5b0191acab.jpg)
我想拥有一个硬编码的管理员用户,其余用户来自数据库.当我使用db用户登录时,它可以正常工作,但是如果我使用硬编码的admin用户登录,则会显示“Bad credentials”错误.这是我的security.yml文件的一部分:
security:
encoders:
Valoran\DrushBundle\Entity\User:
algorithm: bcrypt
cost: 15
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:
foo: { password: test }
user_db:
entity: { class: Acme\DrushBundle\Entity\User, property: userName }
解决方法:
我遇到了同样的问题,我正在添加答案,让其他人更容易看到.
如果你得到
No encoder has been configured for account
“Symfony\Component\Security\Core\User\User” chain provider
您需要添加如下所示的编码器(对于数据库用户和内存中的用户)[security.yml]
security:
encoders:
Splendonia\Bundle\UserBundle\Entity\User:
algorithm: sha512
encode-as-base64: true
iterations: 10
Symfony\Component\Security\Core\User\User: plaintext
使用一个或多个提供者.文档是here,它看起来像这样:
providers:
chain_provider:
chain:
providers: [in_memory, main]
in_memory:
memory:
users:
guest: { password: guest, roles: [ 'ROLE_GUEST' ] }
main:
entity: { class: Splendonia\Bundle\UserBundle\Entity\User, property: email }
还记得在防火墙上将提供程序更改为chain_provider,它看起来像这样:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/demo/secured/login$
security: false
secured_area:
pattern: ^/
anonymous: ~
provider: chain_provider
form_login:
login_path: login
check_path: login_check
default_target_path: /dashboard
logout:
path: /logout
target: /
那应该这样做.
内容总结
以上是互联网集市为您收集整理的php – Symfony2 chain_provider in_memory用户登录“bad credentials”全部内容,希望文章能够帮你解决php – Symfony2 chain_provider in_memory用户登录“bad credentials”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。