我目前有下面的代碼,這幾乎做我想要的。 只有幾件事我不明白。Symfony安全access_control語法
每條路徑前的^ /是什麼?
^/login後的$是什麼?
爲什麼我無法訪問頁面時會重定向到登錄頁面?我在哪裏設置或更改此?
是否有一個簡單的方法來授予訪問我的首頁(/),同時要求用戶登錄訪問任何其他頁面(登錄/註冊頁面除外)?
我應該使用IS_AUTHENTICATED_FULLY還是ROLE_USER?字符串的
無法找到關於這個問題無論是任何明確的信息...
我目前有下面的代碼,這幾乎做我想要的。 只有幾件事我不明白。Symfony安全access_control語法
每條路徑前的^ /是什麼?
^/login後的$是什麼?
爲什麼我無法訪問頁面時會重定向到登錄頁面?我在哪裏設置或更改此?
是否有一個簡單的方法來授予訪問我的首頁(/),同時要求用戶登錄訪問任何其他頁面(登錄/註冊頁面除外)?
我應該使用IS_AUTHENTICATED_FULLY還是ROLE_USER?字符串的
無法找到關於這個問題無論是任何明確的信息...
關於^和$
^=字符串的開始 $ =結束
https://en.wikipedia.org/wiki/Regular_expression#Delimiters
IS_AUTHENTICATED_FULLY或ROLE_USER: 您不能直接比較這兩個。您可以完全驗證身份並且不具有角色用戶。 IS_AUTHENTICATED_FULLY僅表示您未通過此會話中的remember_me機制登錄,但主動輸入了您的密碼。 然而,它並不檢查登錄用戶被授予哪個角色。
有一種簡單的方法來給予我的頭版(/)訪問,同時要求用戶在登錄才能訪問任何其他頁面(除了登錄/註冊頁面) ?
嘗試:
access_control:
- { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/*, role: IS_AUTHENTICATED_FULLY }
似乎工作,雖然我不完全理解爲什麼需要1號線或什麼$不正是 –
末的平均$「結尾」,在這種情況下(^/$)它只表示根路徑。 – jeremy