728x90

스프링 25

[Spring Boot | Thymeleaf] @PathVariable url 경로의 값을 변수로 받기

[Spring Boot | Thymeleaf] @PathVariable url 경로의 값을 변수로 받기 이전 글 2023.02.08 - [Java & Spring/Spring Boot] - [Spring Boot | Thymeleaf] 타임리프 th:utext="" 2023.02.08 - [Java & Spring/Spring Boot] - [Spring Boot | Thymeleaf] Model, ModelAndView와 타임리프(Thymeleaf) 2023.02.06 - [Java & Spring/Spring Boot] - [Spring Boot | Thymeleaf] 타임리프 사용방법 및 시작하기 url 구조를 보면 다음과 같이 https://lifere.tistory.com/123 경로에 값이 표..

java, spring 2023.02.10

[Spring] 스프링 시큐리티를 이용해 로그아웃 처리

[Spring] 스프링 시큐리티를 이용해 로그아웃 처리 이전 글에 이어서 기존 프로젝트에 스프링 시큐리티를 접목합니다. 이번엔 로그아웃 처리를 접목합니다. 로그인 페이지의 링크는 프로젝트에서 includes 폴더 내에 header.jsp에 정의되어 있습니다. 로그인한 상태에선 로그아웃 페이지로 이동할 수 있도록 스프링 시큐리티를 적용해봅니다. header.jsp의 일부 브라우저에 로그인한 경우와 하지 않은 경우를 비교해 보면 아래 그림처럼 보이게 됩니다. 로그인 하지 않은 경우 로그인 한 사용자의 경우 로그아웃 페이지 로그아웃 페이지는 'customLogout.jsp'로 제작하고, 사용하는 부트스트랩 테마의 로그인 페이지를 수정해서 '/customLogout'으로 이용합니다. customLogout.js..

java, spring 2021.10.07

[Spring] 어노테이션을 이용하는 스프링 시큐리티 설정

[Spring] 어노테이션을 이용하는 스프링 시큐리티 설정 XML, JAVA 설정 외 어노테이션을 이용해 스프링 시큐리티를 설정할 수 있습니다. 사용되는 어노테이션은 주로 @Secured, @PreAuthorize, @PostAuthorize @Secured : ( ) 에 ROLE_ADMIN과 같은 문자열 혹은 문자열 배열을 이용합니다. @PreAuthorize, @PostAuthorize : ( ) 안에 표현식을 사용할 수 있습니다. 이전 XML예제 프로젝트를 사용합니다. SampleController에 간단한 메서드와 설정을 추가합니다. SampleController 클래스 (코드 추가) @PreAuthorize는 표현식 'hasAnyRole'을 사용해 체크하고, @Secured는 단순 값(value..

java, spring 2021.10.04

[Spring] 스프링 시큐리티를 JSP에서 사용하기

[Spring] 스프링 시큐리티를 JSP에서 사용하기 이전 글 2021.10.03 - [Spring] - [Spring] 스프링 시큐리티, 커스텀 테이블, 커스텀 UserDetailsService 활용 2021.10.01 - [Spring] - [Spring] 스프링 시큐리티 로그인 (커스텀 데이터베이스 사용) JDBC와 쿼리를 이용해서 스프링 시큐리티를 사용할 수 있음에도 불구하고, 굳이 CustomUserDetailsService와 같이 별도의 인증/권한 체크를 하는 가장 큰 이유는 JSP 등에서 단순히 사용자의 아이디(스프링 시큐리티에서는 username) 정도가 아닌 사용자의 이름이나 이메일과 같은 추가적인 정보를 이용하기 위해서입니다. JSP에서 스프링 시큐리티를 사용하기 위해 pom.xml 에..

java, spring 2021.10.04

[Spring] 스프링 시큐리티를 사용하는 커스텀 로그인 페이지

[Spring] 스프링 시큐리티를 사용하는 커스텀 로그인 페이지 이전 글 2021.09.24 - [Spring] - [Spring] Spring Web Security 2021.09.24 - [Spring] - [Spring] Spring Web Security의 설정 2021.09.25 - [Spring] - [Spring] 스프링 시큐리티 간단한 로그인과 로그아웃 처리 커스텀 로그인 페이지 스프링 시큐리티에서 커스텀 로그인 페이지를 접근 제한 페이지와 유사하게 직접 특정한 URI를 지정할 수 있습니다. security-context.xml의 일부 login-page 속성의 URI는 반드시 GET 방식으로 접근하는 URI를 지정합니다. com.project.controller 패키지의 CommonCon..

java, spring 2021.09.27

[Spring] Spring Web Security

[Spring] Spring Web Security 도움이 되셨다면 광고 한 번 클릭 부탁드립니다. 한 번의 클릭이 제게 큰 힘이 된답니다!^^ 이 글은 코드로 배우는 스프링 웹 프로젝트 도서를 참고하고 있습니다. 스프링 시큐리티의 기본 동작 방식은 서블릿의 여러 종류의 필터와 인터셉터를 이용해서 처리됩니다. 필터는 서블릿에서 말하는 단순한 필터를 의미하고, 인터셉터(Interceptor)는 스프링에서 필터와 유사한 역할을 합니다. 필터와 인터셉터는 특정한 서블릿이나 컨트롤러의 접근에 관여한다는 점에서 유사하지만 결정적인 차이를 구분하자면 필터는 스프링과 무관하게 서블릿 자원이고, 인터셉터는 스프링의 빈으로 관리되면서 스프링의 컨텍스트 내에 속한다는 차이입니다. 일반 필터는 서블릿 컨텍스트에 속하긴 하지..

java, spring 2021.09.24

[Spring] 스프링에서 트랜잭션 관리

[Spring] 스프링에서 트랜잭션 관리 비즈니스에서 쪼갤 수 없는 하나의 단위 작업을 말할 때 트랜잭션(Transaction)이라는 용어를 사용합니다. 사전적인 의미로 트랜잭션은 '거래'라는 뜻을 갖지만, 현실적으로 '한 번에 이루어지는 작업의 단위'를 트랜잭션으로 간주합니다. 트랜잭션의 성격을 'ACID 원칙'으로 설명하곤 합니다. (데이터베이스 수업으로 돌아간 것 같네요ㅎㅎ) 원자성(Atomicity) 하나의 트랜잭션은 모두 하나의 단위로 처리되어야 합니다. 어떤 트랜잭션이 A와 B로 구성된다면 항상 A, B의 처리 결과는 동일한 결과이어야 합니다. 즉 A는 성공했지만, B는 실패할 경우 A, B는 원래 상태로 되돌려져야만 합니다. 어떤 작업이 잘못되는 경우 모든 것은 다시 원점으로 되돌아가야만 합..

java, spring 2021.08.22

[Spring] 댓글 처리 Front-End - 세팅편 -

[Spring] 댓글 처리 Front-End - 세팅편 - 이전 글 2021.08.03 - [Spring] - [Spring] 댓글 처리, 서비스 영역과 Controller 처리 (feat. @RestController) 2021.08.01 - [Spring] - [Spring] 댓글 처리를 위한 영속 속성 JSP 에서 댓글에 대한 처리는 하나의 페이지 내에서 모든 작업이 이루어지기 때문에 조금 복잡합니다. 또한 기존과 달리 js로 동적인 HTML을 처리하기 때문에 주의해서 작업해야 합니다. JavaScript의 모듈화 동적인 HTML을 처리하기 위해 Ajax를 이용하는데, jQuery의 함수를 이용해서 쉽게 처리할 수 있습니다. 화면 내 JS 처리를 하다 보면 이벤트 처리와 DOM 처리, Ajax 처리..

java, spring 2021.08.09

[MariaDB] 댓글 처리 테이블 : 외래 키에 대해 테이블 다뤄보기

[MariaDB] 댓글 처리 테이블 : 외래 키에 대해 테이블 다뤄보기 테이블 생성하기 seq_bno 값을 외래 키로 정합니다. tb_board 테이블의 seq_bno 값을 참조합니다. 다음은 SQL 쿼리문 외래 키 및 제약조건에 대한 내용을 테스트 하려고 합니다. 먼저 게시글 tb_board에 없는 seq_bno로 등록하려고 합니다. 외래 키에서는 참조할 값이 없으면 에러가 나타나겠죠. INSERT INTO tb_reply (seq_bno, reply, replyer) VALUES ('999','TEST','TEST') 역시나 외래 키 조건에 걸려서 없는 값을 참조하지 못하기 때문에 등록되지 않는 것을 볼 수 있죠. tb_board 게시판에 있는 값을 insert 하기 데이터가 들어오는 것을 확인할 수..

CS/sql 2021.07.31

[Spring] 페이징 처리에 검색 기능 SQL 적용하기 (feat. Mybatis 동적 SQL)

[Spring] 페이징 처리에 검색 기능 SQL 적용하기 (feat. Mybatis 동적 SQL) 이전 글 2021.07.17 - [Spring] - [Spring] 페이징 화면 처리 - 3 - 2021.07.17 - [Spring] - [Spring] 페이징 화면 처리 - 2 - 2021.07.17 - [Spring] - [Spring] 페이징 화면 처리 - 1 - 2021.07.16 - [Spring] - [Spring] 스프링에서 페이징 처리 (BoardController, BoardService 수정) 2021.07.14 - [Spring] - [Spring] MyBatis와 스프링에서 페이징 처리 지금까지 실습했던 SQL을 기준으로 봤을 때, 페이징 처리에 인라인 뷰를 이용하기 때문에 실제로 검..

java, spring 2021.07.24
728x90