User Service Security 모듈 추가
This commit is contained in:
@@ -2,6 +2,8 @@ server:
|
||||
port: 8000
|
||||
|
||||
eureka:
|
||||
instance:
|
||||
instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
|
||||
client:
|
||||
register-with-eureka: true
|
||||
fetch-registry: true
|
||||
@@ -20,6 +22,10 @@ spring:
|
||||
showPreLogger: true
|
||||
showPostLogger: true
|
||||
routes:
|
||||
- id: user-service
|
||||
uri: lb://USER-SERVICE
|
||||
predicates:
|
||||
- Path=/user-service/**
|
||||
- id: test-server-1
|
||||
uri: lb://TEST-SERVER-1
|
||||
predicates:
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
package com.roy.springcloud;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class SpringCloudApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(SpringCloudApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
package com.roy.springcloud;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class SpringCloudApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ dependencies {
|
||||
implementation(project(":util"))
|
||||
|
||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-security'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
||||
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.roy.springcloud.userservice.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
|
||||
@Configuration
|
||||
public class PasswordEncoder {
|
||||
@Bean
|
||||
public BCryptPasswordEncoder bCryptPasswordEncoder() {
|
||||
return new BCryptPasswordEncoder();
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import static com.roy.springcloud.util.mapper.MapperUtil.toObject;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/")
|
||||
@RequestMapping("/user-service")
|
||||
@RequiredArgsConstructor
|
||||
public class UserController {
|
||||
private final Environment environment;
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.roy.springcloud.userservice.security;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||
|
||||
@Configuration
|
||||
@EnableWebSecurity
|
||||
public class WebSecurity extends WebSecurityConfigurerAdapter {
|
||||
|
||||
@Override
|
||||
protected void configure(HttpSecurity http) throws Exception {
|
||||
http.csrf().disable();
|
||||
http.authorizeHttpRequests().antMatchers("/users/**").permitAll();
|
||||
http.headers().frameOptions().disable();
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import com.roy.springcloud.userservice.repository.UserRepository;
|
||||
import com.roy.springcloud.userservice.service.UserService;
|
||||
import com.roy.springcloud.util.mapper.MapperUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.UUID;
|
||||
@@ -14,12 +15,13 @@ import java.util.UUID;
|
||||
@RequiredArgsConstructor
|
||||
public class UserServiceImpl implements UserService {
|
||||
private final UserRepository userRepository;
|
||||
private final BCryptPasswordEncoder passwordEncoder;
|
||||
|
||||
@Override
|
||||
public UserDto createUser(UserDto userDto) {
|
||||
userDto.setUserId(UUID.randomUUID().toString());
|
||||
User user = MapperUtil.toObject(userDto, User.class);
|
||||
user.setEncryptedPassword("encrypted_password");
|
||||
user.setEncryptedPassword(passwordEncoder.encode(userDto.getPassword()));
|
||||
userRepository.save(user);
|
||||
return userDto;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user