Spring boot 在Spring Boot中对同一服务器中的服务器和资源服务器进行身份验证时,获取“访问此资源需要完全身份验证”
我将授权服务器和资源服务器保持在同一个服务器中。下面是我的安全配置Spring boot 在Spring Boot中对同一服务器中的服务器和资源服务器进行身份验证时,获取“访问此资源需要完全身份验证”,spring-boot,spring-security-oauth2,Spring Boot,Spring Security Oauth2,我将授权服务器和资源服务器保持在同一个服务器中。下面是我的安全配置 @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) @EnableResourceServer public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired @Qualifier("userDet
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableResourceServer
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
@Qualifier("userDetailsService")
private UserDetailsService userDetailsService;
@Override
public void configure(HttpSecurity http) throws Exception {
http.formLogin().and().httpBasic().disable().anonymous().disable().authorizeRequests().anyRequest()
.authenticated();
}
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
}
我正在尝试实现“授权\代码”授权类型,并获取错误信息。密码授予类型中没有问题
若我将资源服务器作为单独的服务器,那个么它可以正常工作,但若我将两者都放在同一个服务器中,那个么它永远不会工作。基本上,当我没有“@EnableResourceServer”注释时,OAuth登录页面显示得非常完美。但是当我有注释时,需要获得完全身份验证才能访问此资源错误。我尝试了多种配置以允许/登录URL。但是没有运气 创建一个ResourceServerConfiguration,如下所示:
@配置
@EnableResourceServer
公共类OAuth2ResourceServerConfig扩展了ResourceServerConfigurerAdapter{
私有静态最终字符串资源_ID=restservice;
@自动连线
数据源数据源;
@自动连线
@限定符OAuthTokenStore
私人代币店;
@凌驾
公共空间configure@NotNullResourceServerSecurityConfigure资源{
resources.resourceIdRESOURCE_ID;
}
@凌驾
公共空间configure@NotNullHttpSecurity http引发异常{
http
.requestMatchers
蚂蚁配对者/**
和
.批准请求
.antMatchers/**.accessoauth2.hasScope'read'
和
.例外处理
.AccessDeniedHandler新OAuth2AccessDeniedHandler;
}
}