Blame view

src/main/java/daeucna/config/security/UserInitializer.java 1.47 KB
2034b5b1   함상기   Init Version 2024...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  package daeucna.config.security;

  import java.util.Arrays;

  import java.util.HashSet;

  

  import org.springframework.beans.factory.annotation.Autowired;

  import org.springframework.boot.ApplicationArguments;

  import org.springframework.boot.ApplicationRunner;

  import org.springframework.core.env.Environment;

  import org.springframework.stereotype.Component;

  

  import daeucna.config.security.dto.AuthorityDto;

  import daeucna.config.security.dto.UserDto;

  import daeucna.config.security.service.UserService;

  

  @Component

  public class UserInitializer implements ApplicationRunner {

  

  	private final UserService userService;

  	private final Environment env;

  

      @Autowired

      public UserInitializer(Environment env, UserService userService) {

      	this.userService = userService;

      	this.env = env;

      }

  

      @Override

      public void run(ApplicationArguments args) {

      	//초기 Admin User 넣어주기

  		AuthorityDto authorityDto = AuthorityDto.builder().authorityName("ROLE_ADMIN").build();

  		UserDto userDto = UserDto.builder()

  				.username("sangkiham")

  				.password("sangkiham")

  				.nickname("sangkiham")

  				.authorityDtoSet(new HashSet<AuthorityDto>( Arrays.asList(authorityDto) ))

  				.build();

  

  		//사용자 정보가 없으면 Insert한다.

  		boolean blnAdminInit = Boolean.parseBoolean(env.getProperty("admin.init"));

      	if (blnAdminInit && userService.getUserWithAuthorities(userDto.getUsername()) == null) {

      		userService.signup(userDto);

      	}

     }

  }