在我的Symfony 4项目中,我使用了默认的FOSUSerBundle配置,如下所示:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/login #problem here
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
success_handler: fos_authentication_handler
failure_handler: fos_authentication_handler
logout: true
anonymous: true所以,当我使用pattern: ^/时,它工作得很好,但当我这样做时:pattern: ^/login,它阻止我登录时说variable _SESSION is undefined。在我的控制器中,我使用了以下代码,当防火墙模式为‘^/’时,它工作得很好:
$this->get("session")->save(); 我不希望它阻塞我的站点('mysite.com/')的基本路径,我想在那里实现自定义逻辑。任何如何修复它的想法都将受到欢迎。谢谢。
发布于 2019-12-05 04:02:47
问题已解决
最后,我理解了防火墙模式是指覆盖整个站点的所有路由命名的模式。如果它以“^/ login”开头,则所有其他不以login开头的路由将不会被防火墙覆盖,因此会出现错误。此外,我在security.yml中的受限访问下获得了索引路径,因此它抛出了以下错误。
https://stackoverflow.com/questions/59183514
复制相似问题