728x90

시큐리티 4

[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 Web Security

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

java, spring 2021.09.24
728x90