我有三个终点:
- GET /rest/file/{name}/{guid} -这一个使用OAuth2令牌保护
- GET /rest/file/task/{guid}
- GET /rest/file/{guid}
我需要一个Regex表达式用于Spring Security的SecurityFilterChain with OAuth2 Resource Server。它应该捕获最后一个端点,而不是前两个端点。资源服务器已经为许多其他端点正确配置,所以这不是一个全局问题,而是严格的Regex问题。
示例:
- /rest/file/aaaaa/{guid}已针对OAuth2令牌进行验证
- 未针对OAuth2令牌验证/rest/file/task/{guid}
- 未针对OAuth2令牌验证/rest/file/{guid}
我看到两种方法:
1.路径变量{name}不是“任务”且路径变量{guid}在{name}之后的URL与GUID的结构匹配
1.路径变量{name}不是“任务”的URL,同时{name}与GUID结构不匹配
我用了这个方法,但它总是返回403。
private static final String REGEX_GUID = "^[{]?[0-9a-fA-F]{8}"
+ "-([0-9a-fA-F]{4}-)"
+ "{3}[0-9a-fA-F]{12}[}]?$";
.regexMatchers(HttpMethod.GET, "/rest/file/^(?!task$)/" + REGEX_GUID)
字符串
1条答案
按热度按时间ru9i0ody1#
如果有人感兴趣,它与:
字符串