728x90

스프링 시큐리티 9

[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] 스프링 시큐리티 Java 설정

[Spring] 스프링 시큐리티 Java 설정 도움이 되셨다면 광고 한 번 클릭 부탁드립니다. 한 번의 클릭이 제게 큰 힘이 된답니다!^^ 이전 글 2021.10.04 - [Spring] - [Spring] 자동 로그인(remember-me) 2021.10.04 - [Spring] - [Spring] 스프링 시큐리티를 JSP에서 사용하기 2021.10.03 - [Spring] - [Spring] 스프링 시큐리티, 커스텀 테이블, 커스텀 UserDetailsService 활용 2021.10.01 - [Spring] - [Spring] 스프링 시큐리티 로그인 (커스텀 데이터베이스 사용) 2021.09.30 - [Spring] - [Spring] JDBC를 이용하는 간편 인증/권한 처리 2021.09.27 -..

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] 스프링 시큐리티, 커스텀 테이블, 커스텀 UserDetailsService 활용

[Spring] 스프링 시큐리티, 커스텀 테이블, 커스텀 UserDetailsService 활용 이전 글 2021.10.01 - [Spring] - [Spring] 스프링 시큐리티 로그인 (커스텀 데이터베이스 사용) 2021.09.30 - [Spring] - [Spring] JDBC를 이용하는 간편 인증/권한 처리 2021.09.27 - [Spring] - CSRF(Cross-site request forgery) 공격과 토큰 / 로그인 처리 / 로그아웃 처 2021.09.27 - [Spring] - [Spring] 스프링 시큐리티를 사용하는 커스텀 로그인 페이지 2021.09.25 - [Spring] - [Spring] 스프링 시큐리티 간단한 로그인과 로그아웃 처리 2021.09.24 - [Spring..

java, spring 2021.10.03

[Spring] JDBC를 이용하는 간편 인증/권한 처리

[Spring] JDBC를 이용하는 간편 인증/권한 처리 인증과 권한에 대한 처리는 Authentication Manager를 통해 처리됩니다. 이때 인증이나 권한 정보를 제공하는 존재(Provider)가 필요하고, 다시 이를 위해서 UserDetailsService라는 인터페이스를 구현한 존재를 활용하게 됩니다. UserDetailsService는 스프링 시큐리티 API 내에 이미 CachingUserDetailsService, InMemoryUserDetailsManager, JdbcDaoImpl, JdbcUserDetailsManager, LdapUserDetailsManager, LdapUserDetailsService와 같은 구현 클래스들을 제공하고 있습니다. security-context.xm..

java, spring 2021.09.30

CSRF(Cross-site request forgery) 공격과 토큰 / 로그인 처리 / 로그아웃 처리

CSRF(Cross-site request forgery) 공격과 토큰 / 로그인 처리 / 로그아웃 처리 도움이 되셨다면 광고 한 번 클릭 부탁드립니다. 한 번의 클릭이 제게 큰 힘이 된답니다!^^ 이전 글 2021.09.27 - [Spring] - [Spring] 스프링 시큐리티를 사용하는 커스텀 로그인 페이지 2021.09.25 - [Spring] - [Spring] 스프링 시큐리티 간단한 로그인과 로그아웃 처리 2021.09.24 - [Spring] - [Spring] Spring Web Security의 설정 2021.09.24 - [Spring] - [Spring] Spring Web Security 스프링 시큐리티에서 POST 방식을 이용하는 경우 CSRF 토큰이라는 것을 이용하게 됩니다. 별..

java, spring 2021.09.27

[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의 설정 도움이 되셨다면 광고 한 번 클릭 부탁드립니다. 한 번의 클릭이 제게 큰 힘이 됩니다! :) 이전 글 2021.09.24 - [Spring] - [Spring] Spring Web Security 스프링 시큐리티는 스프링의 여러 하위 프로젝트 중 하나이므로, https://spring.io/projects/spring-security 같은 페이지를 이용해 필요한 버전을 추가합니다. 다양한 처리를 위해 다음 3개의 라이브러리 + JSP에서의 스프링 시큐리티 관련 태그 라이브러리 spring-security-taglib을 추가합니다. pom.xml 에 라이브러리 추가 security-context.xml 생성 스프링 시큐리티는 단독으로 설정할 수 있..

java, spring 2021.09.24

[Spring] Spring Web Security

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

java, spring 2021.09.24
728x90