我在 Symfony 防火墻(https://symfony.com/doc/current/security.html)的示例配置中看到,應該這樣指定路由
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/profile, roles: ROLE_USER }
但是在沒有 ^ 字符的情況下,我已經做了很長一段時間了。它有什么作用?
所以這個配置似乎達到了同樣的目的:
access_control:
- { path: /admin, roles: ROLE_ADMIN }
- { path: /profile, roles: ROLE_USER }
uj5u.com熱心網友回復:
基于檔案:
在路徑前加上 ^ 意味著只匹配以該模式開頭的 URL。例如,/admin 的路徑(不帶 ^)將匹配 /admin/foo,但也會匹配 /foo/admin 之類的 URL。
uj5u.com熱心網友回復:
這是默認限制,限制防火墻僅在請求路徑與配置的模式匹配時才被初始化。
"模式是一個正則運算式。在這個例子中,只有當路徑以 /admin 開頭(由于 ^ 正則運算式字符)時,防火墻才會被激活。如果路徑不匹配這個模式,防火墻將不會被激活并且后續防火墻將有機會匹配此請求。”
參考:https ://symfony.com/doc/current/security/firewall_restriction.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/504744.html
上一篇:引導5.2不可用
