我想:
从prod env中的Gentelella登录流程中删除公开凭据admin /密码
能够使用prod env
我使用the skeleton for symfony provided here。
现在它看起来像这样:
我仍然可以在prod env中登录,虽然在我的数据库表中找不到fosUserBundle用户" admin"离开了。
登录后为用户提供有效凭据我得到403 - 拒绝访问页面。此用户是使用命令行工具添加的,并已升级为ROLE_ADMIN。
我想我在这里错过了一些简单但至关重要的东西。
我尝试过的事情:
在dev env(/app_dev.php/login
)中一切正常:我无法使用admin / password登录,但我可以使用新创建的用户登录。
没有用户"管理员"留在数据库中
刷新缓存,prod和env
我搜索了项目文件夹中的所有文件" admin"和"密码",但我找不到任何硬编码的登录数据,只提到模板/树枝
我找不到任何关于此的文件 - 我当然可能会找错页
Edit2:security.yml
# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
providers:
in_memory:
memory: ~
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
# if you are using Symfony < 2.8, use the following config instead:
# csrf_provider: form.csrf_provider
logout: true
anonymous: true
# activate different ways to authenticate
# http_basic: ~
# http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate
# form_login: ~
# http://symfony.com/doc/current/cookbook/security/form_login_setup.html
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_ADMIN }