Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring Boot中使用令牌保护api_Java_Rest_Spring Boot_Authentication - Fatal编程技术网

Java 在Spring Boot中使用令牌保护api

Java 在Spring Boot中使用令牌保护api,java,rest,spring-boot,authentication,Java,Rest,Spring Boot,Authentication,我们有一个简单的应用程序,只有两个使用者和5个端点。对于一个端点,我需要某种身份验证方法。我喜欢这样做的条纹方式,但我不知道如何在spring boot中构建它 “通过HTTP Basic Auth执行对API的身份验证。请提供API密钥作为基本身份验证用户名值。无需提供密码。” 我试图从manager.createUser中删除密码,但这不起作用。基本身份验证由base64编码形式的user:password组成。 因此,您的用户必须具有等于空字符串的密码才能进行基本身份验证。 您还可以去掉B

我们有一个简单的应用程序,只有两个使用者和5个端点。对于一个端点,我需要某种身份验证方法。我喜欢这样做的条纹方式,但我不知道如何在spring boot中构建它

“通过HTTP Basic Auth执行对API的身份验证。请提供API密钥作为基本身份验证用户名值。无需提供密码。”


我试图从manager.createUser中删除密码,但这不起作用。

基本身份验证由base64编码形式的
user:password
组成。 因此,您的用户必须具有等于空字符串的密码才能进行基本身份验证。
您还可以去掉BCryptPasswordEncoder并使用,因为您不使用密码值

基本身份验证由base64编码形式的
用户:密码
组成。 因此,您的用户必须具有等于空字符串的密码才能进行基本身份验证。 您还可以去掉BCryptPasswordEncoder并使用,因为您不使用密码值

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http
    .authorizeRequests()
    .antMatchers("/qr")
    .hasRole("user")
    .and()
    .sessionManagement()
    .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
    .and()
    .httpBasic()
    .and()
    .csrf()
    .disable();
}

@Bean
public UserDetailsService userDetailsService() {
val encodedPassword = new BCryptPasswordEncoder().encode("test");

final InMemoryUserDetailsManager manager = new               InMemoryUserDetailsManager();
   manager.createUser(User.withUsername("admin").password(encodedPassword).roles("user").build());
           //manager.createUser(User.withUsername("admin").roles("user").build());

  return manager;
}

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