簡體   English   中英

Spring 安全忽略上下文路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM