我尝试用Spring Boot设置基本的身份验证,但是在启动时总是遇到这个错误。我已经看到了几个例子,它们的代码和我这里的几乎完全一样,我不知道我做错了什么。我从Spring的文档中复制了我的代码,只做了一些小的调整。我对Spring还是一个新手,这一切对我来说都像是巫术,所以你能提供的任何见解都将非常感谢。
代码:
package com.project.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.web.SecurityFilterChain;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
@Configuration
public class BasicAuthSecurityConfiguration
{
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests().anyRequest().authenticated()
.and()
.httpBasic();
return http.build();
}
@Bean
public InMemoryUserDetailsManager userDetailsService() throws IOException {
String rootPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
String appConfigPath = rootPath + "application.properties";
Properties appProps = new Properties();
appProps.load(new FileInputStream(appConfigPath));
UserDetails user = User
.withUsername(appProps.getProperty("requestUsername"))
.password(appProps.getProperty("requestPassword"))
.roles("USER")
.build();
return new InMemoryUserDetailsManager(user);
}
}
错误信息:
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method filterChain in com.atscale.service.BasicAuthSecurityConfiguration required a bean of type 'org.springframework.security.config.annotation.web.builders.HttpSecurity' that could not be found.
Action:
Consider defining a bean of type 'org.springframework.security.config.annotation.web.builders.HttpSecurity' in your configuration.
2条答案
按热度按时间4xy9mtcn1#
您应该发布您的类“com.atscale.service.BasicAuthSecurityConfiguration”以获取更多信息。
另外,检查您是否已经在pom或gradle文件中导入了spring security jar。
mspsb9vt2#
我最近遇到了同样的错误。添加这个依赖项为我解决了这个问题。