34 lines
1.1 KiB
Java
34 lines
1.1 KiB
Java
package com.sshmanager.config;
|
|
|
|
import com.sshmanager.entity.User;
|
|
import com.sshmanager.repository.UserRepository;
|
|
import org.springframework.boot.CommandLineRunner;
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import java.time.Instant;
|
|
|
|
@Component
|
|
public class DataInitializer implements CommandLineRunner {
|
|
|
|
private final UserRepository userRepository;
|
|
private final PasswordEncoder passwordEncoder;
|
|
|
|
public DataInitializer(UserRepository userRepository, PasswordEncoder passwordEncoder) {
|
|
this.userRepository = userRepository;
|
|
this.passwordEncoder = passwordEncoder;
|
|
}
|
|
|
|
@Override
|
|
public void run(String... args) {
|
|
if (userRepository.count() == 0) {
|
|
User admin = new User();
|
|
admin.setUsername("admin");
|
|
admin.setPasswordHash(passwordEncoder.encode("admin123"));
|
|
admin.setDisplayName("Administrator");
|
|
admin.setPasswordChangedAt(Instant.now());
|
|
userRepository.save(admin);
|
|
}
|
|
}
|
|
}
|