anonymous() 允許匿名用戶訪問,不允許已登入用戶訪問
permitAll() 不管登入,不登入 都能訪問
permitAll(): Always evaluates to true
isAnonymous(): Returns true if the current principal is an anonymous user
從 Spring文檔:
采用“默認(rèn)拒絕”通常被認(rèn)為是良好的安全實(shí)踐,您可以明確指定允許的內(nèi)容并禁止其他所有內(nèi)容。定義未經(jīng)身份驗(yàn)證的用戶可以訪問的內(nèi)容是類似的情況,尤其是對(duì)于 Web 應(yīng)用程序。許多站點(diǎn)要求用戶必須通過除少數(shù) URL 之外的任何其他內(nèi)容(例如主頁和登錄頁面)的身份驗(yàn)證。在這種情況下,最容易為這些特定 URL 定義訪問配置屬性,而不是為每個(gè)受保護(hù)的資源定義訪問配置屬性。換句話說,有時(shí)可以說默認(rèn)情況下需要 ROLE_SOMETHING 并且只允許此規(guī)則的某些例外情況,例如登錄、注銷和應(yīng)用程序的主頁。您也可以完全從過濾器鏈中省略這些頁面,從而繞過訪問控制檢查,
這就是我們所說的匿名身份驗(yàn)證。
請(qǐng)注意,“經(jīng)過匿名身份驗(yàn)證”的用戶和未經(jīng)身份驗(yàn)證的用戶之間沒有真正的概念差異。Spring Security 的匿名身份驗(yàn)證只是為您提供了一種更方便的方式來配置您的訪問控制屬性。
使用.permitAll()will 配置授權(quán),以便在該特定路徑上允許所有請(qǐng)求(來自匿名用戶和登錄用戶)。
的.anonymous()表達(dá)主要是指用戶(登錄與否)的狀態(tài)。基本上,在用戶通過“身份驗(yàn)證”之前,它是“匿名用戶”。這就像每個(gè)人都有一個(gè)“默認(rèn)角色”。
還可以看看
其他文章,謝謝您的閱讀。
網(wǎng)站申明:系本文編輯轉(zhuǎn)載,來源于網(wǎng)絡(luò),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),所有權(quán)歸屬原作者。如內(nèi)容、圖片有任何版權(quán)問題,請(qǐng)
聯(lián)系我們刪除。