java - 线程间共享的主体
问题描述
我正在使用 Spring OAuth2。我已经配置ResourceServer
如下。当对服务进行并发调用时,多个线程错误地共享同一个主体。配置是否导致主体被共享?如果没有,关于可能是什么原因的任何想法?
EnableWebSecurity
@EnableResourceServer
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
@Configuration
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.headers()
.contentSecurityPolicy("script-src 'self'")
.and()
.frameOptions()
.deny()
.and()
.requestMatchers()
.and()
.authorizeRequests()
.antMatchers(HttpMethod.GET, PERMISSIBLE_PATHS).permitAll()
.anyRequest().authenticated();
}
@Bean
public PrincipalExtractor principalExtractor() {
return map -> map.get(USER_CLAIM);
}
@Bean
public AuthoritiesExtractor authoritiesExtractor() {
return map -> AuthorityUtils.commaSeparatedStringToAuthorityList(
((List<String>) map.get(GROUP_CLAIMS)).stream()
.map(group -> String.format("ROLE_%s", group.toUpperCase()))
.collect(Collectors.joining(",")));
}
}
解决方案
推荐阅读
- python - 如何在 Windows 上将 Python 脚本分发给非开发人员
- docker - Sonatype/nexus3 启动容器失败
- node.js - node.js 中 API 调用的“While”异步
- c++ - 使用 Xcode 为 std::filesystem 链接到什么库
- php - 在 JavaScript 中获取 smarty 变量
- java - 使用 Java 邮件 API。javax.mail.MessagingException:无法确定本地电子邮件地址异常
- julia - 原子和键列表中分子的 2D 和/或 3D 图
- sql-server - sql server中的异常处理部分
- javascript - 如何同步 FileReader onload 函数?
- deep-learning - CycleGAN 用于未配对的图像到图像的转换