我不知道如何在Symfony 3.2中创建身份验证
我想从数据库加载安全用户。我在我的项目中使用msyql。
我的security.yml:
HEAD
user.php的:
git rev-parse
登录数据库管理员,密码管理员($ 2a $ 08 $ jHZj / wJfcVKlIwr5AvR78euJxYK7Ku5kURNhNx.7.CSIJ3Pq6LEPC)
帮助!)
答案 0 :(得分:1)
我下载了你的项目,对其进行了审核,问题就在于:
1)您已在DeliveryAdminBundle中定义了自己的登录操作 - > SecurityController和登录表单在相应的视图中,因此您必须配置form_login
并在安全配置中省略http_basic
以使其正常工作。
在App \ Config \ security.yml中修改防火墙 - >主要部分:
pattern: ^/admin
provider: our_db_provider
anonymous: ~
form_login:
login_path: _security_login #login route
check_path: _security_check #credentials check route
failure_path: _security_login #failed login route
default_target_path: a_home #successfull login route
logout:
path: _security_logout #logout route
target: f_home #route to redirect after logout
2)因为您在DeliveryAdminBundle下有安全配置,所以您必须修改App \ Config \ routing.yml以使登录/注销路由正常工作。
...
security_conf:
resource: "@DeliveryAdminBundle/Resources/config/routing/security.yml"
prefix: /admin
3)因为在第2步之后您的登录路由将指向../admin/login,您必须让非认证用户可以访问它以让他们登录。所以在您的App \ Config \ security.yml中修改access_control部分:
access_control:
- { path: ^/admin/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_USER }
4)Symfony登录表格的默认名称为_username
和_password
,因此请修改您的AdminBundle \ Resources \ views \ Security \ login.html.twig或更改默认表单域名称在security.yml
您的编码器和提供商配置完全没问题,如上所述,我的第一条评论错了。我对Delivery \ AdminBundle命名空间感到困惑,但显然你有一个名为DeliveryAdminBundle的包。这有点令人困惑,我建议你采用不同的命名策略,但这取决于你。