본문 바로가기

Spring34

spring security2 (spring boot , 타임리프 사용 / form로그인) - view 👇1편의 내용을 진행한 후 2편을 확인해주세요. spring security1 (spring boot , 타임리프 사용 / form로그인) - 구조 분석 및 로직 코드 작성 개인적으로 공부한 내용을 정리한 글입니다. 틀린 내용이 있을 수 있습니다. 있다면 댓글로 알려주시면 감사하겠습니다😊 이미지로 확인하는 spring security 구조 AuthenticationFilter로 먼저 요청이 taetoungs-branch.tistory.com 작성한 view의 핵심 코드만 소개합니다. 전체 코드가 필요하신 경우 github에서 확인할 수 있습니다. 🙂 https://github.com/ty990520/spring-security/tree/master GitHub - ty990520/spring-securi.. 2022. 3. 18.
spring security1 (spring boot , 타임리프 사용 / form로그인) - 구조 분석 및 로직 코드 작성 개인적으로 공부한 내용을 정리한 글입니다. 틀린 내용이 있을 수 있습니다. 있다면 댓글로 알려주시면 감사하겠습니다😊 이미지로 확인하는 spring security 구조 AuthenticationFilter로 먼저 요청이 들어옴 아이디와 비밀번호를 기반으로 UserPasswordAuthenticationToken을 발급함 AuthentivationFilter는 UserPasswordAuthenticationToken을 AuthenticationManager(실제로 인증을 처리하는 AuthenticationProvider를 가지고 있음)한테 전달함 AuthenticationManager는 전달받은 UsernamePasswordToken을 순차적으로 AuthenticaionProvider들에게 전달하여 실제 .. 2022. 3. 18.
Servlet vs Spring MVC 내가 분명 올해 초에 스프링 공부를 하면서 MVC부분에 대해 이론 강의를 듣고 정리를 한 기억이 있다. https://github.com/ty990520/springFramework/blob/main/05.md GitHub - ty990520/springFramework: spring프레임워크를 공부한 내용을 정리합니다. spring프레임워크를 공부한 내용을 정리합니다. Contribute to ty990520/springFramework development by creating an account on GitHub. github.com 그렇지만 참 이론지식이라는 건 휘발성인 것 같다... 사실 그 당시에도 JSP? 서블릿? MVC? 아무것도 모르는 상황에서 처음보는 용어들과 개념들이 와르르 쏟아지니 .. 2021. 12. 27.
Spring Security 실습2 - 커스텀 로그인 페이지 만들기 이전 게시물과 이어지는 내용입니다. 2021.08.20 - [Spring/개념지식 및 에러사항] - Spring Security 실습1 - url설계를 통한 접근 제한 방법 Spring Security 실습1 - url설계를 통한 접근 제한 방법 📌 해당 실습을 하기 전 아래의 게시물을 참고하여 스프링 시큐리티 설정을 완료해야합니다. 2021.08.19 - [Spring/개념지식 및 에러사항] - [Spring] Spring Web Security 설정하기 [Spring] Spring Web Security.. taetoungs-branch.tistory.com 커스텀 로그인 페이지 솔직히 스프링 시큐리티에서 기본적으로 제공하는 로그인 페이지는... 구리다. 현실적으로 웹 서비스를 할 때 이런 화면 디자.. 2021. 8. 20.
Spring Security 실습1 - url설계를 통한 접근 제한 방법 📌 해당 실습을 하기 전 아래의 게시물을 참고하여 스프링 시큐리티 설정을 완료해야합니다. 2021.08.19 - [Spring/개념지식 및 에러사항] - [Spring] Spring Web Security 설정하기 [Spring] Spring Web Security 설정하기 로그인 기능을 사용하는 경우, 웹에서는 기본적으로 쿠키를 이요하거나 세션을 이용하는 방식이 일반적이다. 스프링에서는 이를 Interceptor 등을 이용한 방법으로 처리할 수 있다. Spring Web Security taetoungs-branch.tistory.com 시큐리티가 필요한 URL 설계 시큐리티를 사용하여 제어해야하는 URL을 설계하는 작업을 실습해보자. 1. 로그인을 하지 않은 사용자도 접근 가능한 URL ➔ /samp.. 2021. 8. 20.
Spring Web Security 설정하기 로그인 기능을 사용하는 경우, 웹에서는 기본적으로 쿠키를 이용하거나 세션을 이용하는 방식이 일반적이다. 스프링에서는 이를 Interceptor 등을 이용한 방법으로 처리할 수 있다. Spring Web Security https://spring.io/projects/spring-security#overview Spring Security Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is found in how easily it can b.. 2021. 8. 19.
[Spring] ICS단계적보안성평가WEB - Direct DA 상세 유형 분류 Direct DA의 경우에는 정보를 제공하지 않는다고 해서 그냥 Direct DA인 경우는 "Direct DA"라고 DB에 저장해놨는데 진행하다보니 direct DA도 상세유형을 분류해서 넣어주어야 다른 기능에 지장이 없다는 것을 알았다... (애초에 내가 멘토님의 요구사항을 잘못 이해한듯...) 정규 회의 이틀 전 밤에 멘토님께 전화로 확인해서 다음날 아침에 바로 수정해보았다! Direct DA로 분류된 경우에는 아래의 알고리즘을 거쳐 다시 상세유형을 분류하는 작업이 필요하다. 1. controller에서 상세유형을 분류하는 조건식 /*direct da 상세유형 분류*/ @ResponseBody @RequestMapping(value = "/sortOut") public String sortOut(@R.. 2021. 8. 14.
[Spring] 게시판 프로젝트17 - 검색기능2 (화면 처리) 검색기능2 게시물과 이어지는 내용입니다. [Spring] 게시판 프로젝트16 - 검색기능1 (MyBatis처리) SQL작성 오라클의 검색 조건에 대한 처리는 인라인 뷰 내부에서 이루어진다. 기존의 list출력 쿼리에서 검색한 내용만을 출력하게끔 쿼리를 변경해보면 아래처럼 작성할 수 있을 것이다. (아래의 taetoungs-branch.tistory.com 검색기능 화면처리 검색 기능을 붙일 위치에 아래의 코드를 넣어준다. list.jsp -- 제목 내용 작성자 검색 난 리스트와 페이징 사이에 검색기능을 넣어주었다. mapper 처리를 완료하였기 때문에 실제로 검색 기능이 동작한다. 작성자에 '태옹'을 검색해보니 url에 /board/list?type=W&keyword=태옹&pageNum=1&amount=.. 2021. 8. 10.
[Spring] 게시판 프로젝트16 - 검색기능1 (MyBatis처리) SQL작성 오라클의 검색 조건에 대한 처리는 인라인 뷰 내부에서 이루어진다. 기존의 list출력 쿼리에서 검색한 내용만을 출력하게끔 쿼리를 변경해보면 아래처럼 작성할 수 있을 것이다. (아래의 쿼리는 페이징처리가 포함된 쿼리이다.) select * from ( select /*+ INDEX_DESC(tbl_board tbl_board_pk) */ rownum rn, bno, title, content, writer, regdate, updatedate from tbl_board where title like '%테스트%' or content like '%테스트%' and rownum 10; 그러나 결과를 출력해보면 10개의 데이터가 아닌 더 많은 데이터를 출력함을 알 수 있다. 왜냐하면 AND연산이 OR.. 2021. 8. 8.
[MyBatis] 동적 SQL 동적 SQL MyBatis의 가장 강력한 기능 중 하나는 동적 SQL을 처리하는 방법이다. MyBatis의 동적 태그는 SQL을 파라미터들의 조건에 맞게 조정이 가능하게 하고, 약간의 구문을 이용해서 전달되는 파라미터를 가공해서 경우에 따라 다른 SQL을 만들어 주는 기능이 있다. 👇 MyBatis 동적 태그는 아래의 문서에서 기능들에 대한 설명 및 사용법을 확인할 수 있다. https://mybatis.org/mybatis-3/ko/dynamic-sql.html MyBatis – 마이바티스 3 | 동적 SQL 동적 SQL 마이바티스의 가장 강력한 기능 중 하나는 동적 SQL을 처리하는 방법이다. JDBC나 다른 유사한 프레임워크를 사용해본 경험이 있다면 동적으로 SQL 을 구성하는 것이 얼마나 힘든 작.. 2021. 8. 8.
[Spring] 게시판 프로젝트15 - 페이징 처리3 페이징 처리2 게시물과 이어지는 내용입니다. 2021.07.20 - [Spring/게시판프로젝트] - [Spring] 게시판 프로젝트14 - 페이징 처리2 [Spring] 게시판 프로젝트14 - 페이징 처리2 페이징 처리1 게시물과 이어지는 내용입니다. 2021.07.20 - [Spring/게시판프로젝트] - [Spring] 게시판 프로젝트13 - 페이징 처리1 [Spring] 게시판 프로젝트13 - 페이징 처리1 프로젝트용으로 데이터가 그렇 taetoungs-branch.tistory.com 그리고 get페이지의 목록 버튼은 사실상 뒤로가기와 의미가 같아서 그냥 삭제했다. 이번 게시물에서는 삭제되었을 때 페이지 정보가 같이 이동하도록 처리해보겠다. 수정 페이지에서 삭제 버튼을 눌러 게시글을 삭제하게되면.. 2021. 8. 7.
[Spring] ICS단계적보안성평가WEB - DA 단계적 보안성 평가 코드 Non Direct/Direct DA 단계적 보안성 평가 조건 1) DA 단계적 보안성 평가 관리(EP DA 중요도 평가) - (영향성 분석 = Emergency Preparedness Function) AND - (대체 수단 존재 여부 = Y) AND (손상여부 탐지방법 존재 여부 = Y) AND (교육 훈련 계획 존재 여부 = Y) 2) DA 단계적 보안성 평가 관리(BOP DA 중요도 평가) - (영향성 분석 = Important to Safety) AND - (안전 시스템에 악영향 여부 = N) AND (발전정지 유발 여부 = Y) AND (발전소 상태 정보 제공 여부 = Y) AND (심층 방호 관련 여부 = N) 3) DA 단계적 보안성 평가 관리(Indirect DA 중요도 평가) - (안전.. 2021. 8. 5.
[Spring] ICS단계적보안성평가WEB - 사번 유효성 검사 및 승인 코드 회원가입을 한 경우 바로 로그인을 할 수 있는 것이 아니라, 관리자의 승인을 받아야 로그인할 수 있다. 회원가입 시 입력한 사번에 대해 유효성 검사를 진행한 후, 성공적으로 인증이 되면 승인 버튼이 활성화가 된다. MVC부분 1. UserVO package com.hanium.domain; import java.util.Date; import lombok.Data; @Data public class UserVO { private String userid;//사번 private String userptype; private String userdept; private String username; private String userpw; private String useremail; private Stri.. 2021. 7. 27.
[Spring] 게시판 프로젝트14 - 페이징 처리2 페이징 처리1 게시물과 이어지는 내용입니다. 2021.07.20 - [Spring/게시판프로젝트] - [Spring] 게시판 프로젝트13 - 페이징 처리1 [Spring] 게시판 프로젝트13 - 페이징 처리1 프로젝트용으로 데이터가 그렇게 많지 않기 때문에 페이징 처리에 고려하지 않을 수도 있지만 실 서비스에서는 대량의 데이터 조회를 위해 페이징 처리가 필수적이다. 이번 실습에서는 게시판 taetoungs-branch.tistory.com 이제 페이징 처리를 화면에서 보여주는 작업을 해볼 것이다💁‍♀️ 페이징 화면 처리 시에 필요한 정보들은 다음과 같다. - 현재 페이지 번호 (page) - 이전 링크 표시 여부 (prev) - 다음 링크 표시 여부 (next) - 화면에 보이는 시작 번호 (startP.. 2021. 7. 20.
[Spring] 게시판 프로젝트13 - 페이징 처리1 프로젝트용으로 데이터가 그렇게 많지 않기 때문에 페이징 처리를 고려하지 않을 수도 있지만 실 서비스에서는 대량의 데이터 조회를 위해 페이징 처리가 필수적이다. 이번 실습에서는 게시판에 페이징 처리를 해볼 것이다. 페이징 처리를 위한 sql쿼리를 작성할 때 hint에 대해서 이해할 필요가 있으니, 아래의 게시물에서 먼저 실행계획과 hint를 이해하고 진행하는 것을 권장한다. 2021.07.20 - [Database] - [Oracle] 실행 계획(Execution plan)과 hint사용의 필요성 [Oracle] 실행 계획(Execution plan)과 hint사용의 필요성 스프링 개발을 하면서 이제 페이징 처리 단계에 다다랐는데, 페이징 처리는 SQL쿼리 작성에 대해 신중히 생각해볼 필요성이 있다. 일반.. 2021. 7. 20.