gpt4 book ai didi

Spring security antMatcher 没有按预期工作

转载 作者:行者123 更新时间:2023-12-04 15:40:22 24 4
gpt4 key购买 nike

我有我的自定义 Controller "/my-endpoint" 和具有以下配置的 spring 应用程序:

    @Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/my-endpoint", "/health")
.permitAll()
.antMatchers(DENY_RESOURCE_PATTERNS)
.denyAll()
.anyRequest()
.authenticated()

}

对于一个一致的用户来说,它似乎工作正常。但是,如果我已经授权(使用 oauth2)并且我的 session (或 token )已过期 -> spring 试图将我重定向到登录页面。

我不想要这个,我想允许任何用户连接到“/my-endpoint”端点。

我忘了配置什么?

有趣的是,即使 session 已过期,内置端点 "/health" 仍能正常工作。

最佳答案

您可以使用configure(WebSecurity web)。它将绕过 Spring 安全过滤器并允许任何用户访问端点。参见 HttpSecurity vs WebSecurity

@Override
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
.antMatchers(HttpMethod.yourMethod, "/health")
.antMatchers(HttpMethod.yourMethod, "/my-endpoint");
}

关于Spring security antMatcher 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57973220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com