[英]Spring Security ignoring context-path
Controller
@GetMapping("/api/data")
String response(){
}
應用程序屬性
server.servlet.context-path=/v1
Spring 安全
http.authorizeRequests().anyMatcher("/v1/**").authenicated()
這里沒有發生身份驗證。 我相信, spring-security 忽略了在 application.properties 中配置的上下文路徑。 為什么 spring-security 忽略上下文路徑。 如何解決這個問題?
對於上面的圖像,我預計會出現 401,因為應該授權 v1/**
這工作正常,
http.authorizeRequests().anyMatcher("/**").authenicated()
打開 Spring Security 的調試,然后你就會明白發生了什么。
@EnableWebSecurity(debug = true)
什么時候,
server.servlet.context-path=/v1
生成的請求:
Request received for GET '/api/data':
servletPath:/api/data
pathInfo:null
什么時候,
spring.mvc.servlet.path=/v1
生成的請求:
Request received for GET '/v1/api/data':
servletPath:/v1
pathInfo:/api/data
Go 帶有 servlet-path,用於您嘗試實現的內容......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.