- Любой URL-адрес перенаправляется на /login, хотя я настроил несколько URL-адресов для обхода аутентификации.< /li>
Я получаю эту ошибку во время запуска (не уверен, что это проблема):com.mongodb.MongoNodeIsRecoveringException: Command failed with error 11600 (InterruptedAtShutdown): 'interrupted at shutdown' on server mongo:27017. The full response is {"ok": 0.0, "errmsg": "interrupted at shutdown", "code": 11600, "codeName": "InterruptedAtShutdown"} - Кроме того, когда я указываю имя пользователя и пароль на страницу /login , мне выдается следующая ошибка:
Ниже приведены соответствующие классы:
@Configuration
@EnableWebSecurity(debug = true)
public class WebSecurityConfig {
@Bean
protected SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.csrf()
.disable()
.cors()
.and()
.authorizeHttpRequests()
.requestMatchers((request) -> request.getServletPath().startsWith("/api/auth"))
.permitAll()
.anyRequest()
.authenticated()
.and()
.formLogin();
return http.build();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
Я также пытался использовать .antMatchers("/api/auth") вместо .requestMatchers, но все равно получаю ошибку.Ниже приведен класс контроллера:
@RestController
@RequestMapping("/api/auth")
public class UserController {
@Autowired private UserService userService;
@PostMapping("/createUser")
@ResponseStatus(HttpStatus.CREATED)
public void createUser(@NotNull @RequestBody User user) {
LOGGER.info("Creating user: {}", user.getUsername());
userService.saveUser(user);
}
Ниже указан класс обслуживания:
@Service
public class UserService {
@Autowired private UserRepository userRepository;
public User saveUser(User user) {
user.setPassword(
hashPassword(user.getPassword()));
return userRepository.save(user);
}
Ниже приведены соответствующие зависимости:
org.myapp
team-management
1.0.0.0-SNAPSHOT
jar
team-management
org.springframework.boot
spring-boot-starter-web
3.3.2
org.springframework.boot
spring-boot-starter-validation
org.springframework.boot
spring-boot-starter-security
3.2.1
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-data-mongodb
2.7.18
Ниже приведены файлы докеров:
version: '3.1'
services:
team-management:
build:
context: .
dockerfile: Dockerfile
image: team-management
ports:
- "8080:8080"
entrypoint: "java -Djava.security.egd=file:/dev/./urandom -jar /app.jar"
mongo:
image: mongo:latest
volumes:
- mongodb_data:/data/db
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js
environment:
MONGO_INITDB_DATABASE: taskmanagement
MONGO_INITDB_ROOT_USERNAME: encora
MONGO_INITDB_ROOT_PASSWORD: training
ports:
- 27017:27017
volumes:
mongodb_data:
Файл Docker
FROM openjdk:8
ARG JAR_FILE=target/team-management.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-classpath", "app.jar", "org.encora.myapp.TeamManagementApplication"]
ENTRYPOINT ["java","-jar","/app.jar"]
Подробнее здесь: https://stackoverflow.com/questions/791 ... g-security