gpt4 book ai didi

java - 我从 Spring boot 安全设置中收到 "Full authentication is required to access this resource"响应

转载 作者:行者123 更新时间:2023-12-02 06:14:59 25 4
gpt4 key购买 nike

我正在使用内存授权服务器构建简单的密码授予类型以用于演示目的,然后与我现有的 Web 应用程序集成。

不确定是否缺少任何配置。

还尝试使用 base64 url​​、表单数据和其他选项,但仍然从服务器获得相同的响应。

使用 management.security.enabled=false 禁用 Spring Boot 基本安全

授权服务器

@Configuration
@EnableAuthorizationServer
@EnableAutoConfiguration

public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
@Autowired
private AuthenticationManager authenticationManager;

@Autowired
private TokenStore tokenStore;

@Override
public void configure (AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints
.authenticationManager (authenticationManager)
.tokenStore (tokenStore);
}
@Bean
public TokenStore tokenStore () {
return new InMemoryTokenStore ();
}


@Bean
public PasswordEncoder passwordEncoder () {
return new BCryptPasswordEncoder ();
}

@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory().withClient("java-client").secret(passwordEncoder (). encode ("java-secret"))
.authorities ("ROLE_CLIENT", "ROLE_TRUSTED_CLIENT", "USER")
.autoApprove (true)
.authorizedGrantTypes("authorization_code", "refresh_token", "password").scopes("read", "write");

}
}

// Security Config

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception { // @formatter:off
http.authorizeRequests()
.antMatchers("**").permitAll();

} // @formatter:on


@Bean
public BCryptPasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder();
}

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception{
auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
}

public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {

security.allowFormAuthenticationForClients();
}
}

最佳答案

该错误基本上意味着您访问了受身份验证保护的资源,并且您没有正确提供用户名/密码。如果您访问 webbrwoser 上的网址,系统会要求您输入用户名和密码。或者,如果您使用curl,则可以在请求中添加用户名和密码。

用户名:密码@your_url,或添加带有“Basic”的授权 header 。

关于java - 我从 Spring boot 安全设置中收到 "Full authentication is required to access this resource"响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55877933/

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