試圖在最新的Spring Boot上實現CSRF保護。 互聯網上的所有例子都基於用戶登錄和身份驗證,我不需要這些。Spring Boot CSRF
我的網站沒有任何要求驗證的部分。 我想
1) Rest requests come from within site. No direct request from outside with wget to be allowed.
2) All pages (routes) must be requested from the index page (/)
包括在pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
的安全性依賴 - 定義用戶application.properties
(雖然,我並不需要)
- 應用程序創建_csrf.token
。
- 創建的類擴展WebSecurityConfigurerAdapter
與「配置」方法覆蓋。
在「配置」中嘗試了所有建議的過濾器。它沒有工作,最後留下空白。
問題是Wget可以直接獲取api頁面。 如何防止它?
我敢肯定你不能這樣做,你在說什麼這裏沒有一些身份驗證,所以你就必須有隱含的授權。我假設您已閱讀此http://docs.spring.io/spring-security/site/docs/current/reference/html/csrf.html以確保事情是正確的。在一個應用程序中,我們必須專門禁用非瀏覽器項目的CSRF,以便它能正常工作。請發佈您認爲應該工作的最佳配置和類。 GitHub的例子可能是最簡單的。 –