분류 전체보기 182

spring security 6.1 mysql signin, signup-rest api

관련 Dto 생성 -> controller 생성 -> filterchain 설정(접속권한 부여) DTO 생성 @Data public class LoginDto { private String usernameOrEmail; private String password; } @Data public class SignUpDto { private String name; private String username; private String email; private String password; } AuthController 생성 @RestController @RequestMapping("/api/auth") public class AuthController { @Autowired AuthenticationMana..

spring security 6.1 mysql authentication(개정 생성, login)

기본 순서 db생성(entity)-> repo구성->service 구성 -> security config 구성 entity (db 생성) : Many to Many @Data @Entity @Table(name = "users", uniqueConstraints = { @UniqueConstraint(columnNames = {"username"}), @UniqueConstraint(columnNames = {"email"}) }) public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; private String name; private String username; @Email private ..

spring security login basic 기본적인 로그인 관련-in memory 방식

이전 방식에서는 override해서 사용했으나 security 6 부터는 객체를 생성해서 @Bean으로 만들어야함 @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecConfig { @Bean PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); } @Bean // 기본 필터 생성 SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .csrf(AbstractHttpConfigurer::disable) .cors(Abstrac..

spring rest app 예외 처리(global excetption handler) 방법

spring에서 잡다하게 많이 나오는 애러 정리해서 출력하기 global exception 생성하기 @ControllerAdvice // 예외 처리를 위한 annotation public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { // handle specific exceptions @ExceptionHandler(ResourceNotFoundException.class) public ResponseEntity handleResourceNotFoundException( ResourceNotFoundException exception, WebRequest webRequest) { ErrorDetails errorDetails..

Rest api java filter

리스트에서 필터로 검색하여 json return @GetMapping("/name/{name}") public Optional studentFindByEmail(@PathVariable("name") String name) throws Exception { Optional student = Optional.ofNullable(stdList.stream() .filter(std -> std.getName().contains(name)) .findAny() .orElseThrow(() -> new Exception("찾는 이름이 없습니다."))); return student; } @GetMapping("/list/{email}") public List studentFindByEmailList(@PathVar..