Mir*_*vic 3 php security routing firewall symfony
我正在使用动态子域在Symfony中创建应用程序.
我想保证每个子域都期望www(www不太重要).
例如:foo.mydomain.com重定向到foo.mydomain.com/login
但是mydomain.com不应该被重定向.
在VHost我这一行:
ServerAlias : *.mydomain.com
Run Code Online (Sandbox Code Playgroud)
我正在使用FOSUserBundle来管理具有自定义UserManager的用户.
防火墙看起来像这样:
firewalls:
fos:
pattern: ^/
host: ^\.mydomain.com
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
use_referer: true
logout: true
anonymous: ~
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
use_referer: true
logout: true
anonymous: true
Run Code Online (Sandbox Code Playgroud)
我不确定我是否应该有两个防火墙
访问控制如下所示:
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: ^\.mydomain.com, path: ^/, roles: ROLE_USER }
Run Code Online (Sandbox Code Playgroud)
所以我需要像*.mydomain.com这样的角色ROLE_USER
解决方案:
.mydomain.com 代替 ^\.mydomain.com
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: .mydomain.com, path: ^/, roles: ROLE_USER }
Run Code Online (Sandbox Code Playgroud)