728x90
1. Spring Security 란?
- Spring Security는 Spring 기반의 어플리케이션의 보안(인증, 인가 등)을 담당하는 스프링 하위 프레임워크다.
- '인증'과 '인가'에 대한 부분을 Filter로 등록하여 처리한다.
- 보안과 관련하여 여러가지 옵션을 제공해주기 때문에 개발자 입장에서는 보안 로직을 작성하지 않아도 된다는 장점이 있다.
2. pom.xml 설정
3. web.xml 설정
4. web-security 설정
1) auto-config : 스프링에서 제공하는 기본 로그인페이지 / http기본인증 / 로그아웃 기능 등 사용 여부
2) use-expressions : SpEL(Spring Expression Language) 사용여부 - 추후 jsp에서 spring-security 태그 사용과 연관있음.
3) create-session : never로 설정한 경우 권한이 필요한 페이지로 접근시 로그인 페이지로 redirect되고, 로그인 하기 전까지 세션아이디가 생성되지 않음.
4) entry-point-ref : 인증되지 않은 사용자가 보호된 리소스에 접근했을 때, 스프링이 지원하는 인증 방식이 아닌 다른 방식을 사용하는 경우 Entry Point를 설정할 수 있음.
- 인증되지 않은 사용자가 보호된 소스로 접근했을 때, 로그인 페이지로 이동 or 분기처리
5) denied-handler 설정
- <access-denied-handler ref="BeanName"/> 형식으로 등록
- denied-handler는 접근 권한이 없는 소스(인가)에 접근하는 경우에 대한 처리가 가능하다.
- BeanName은 <beans:bean id="id" class="ClassPath"/> 형식으로 설정
※ 인증, 인가의 차이 ?
1. 인증 : 유저가 누구인지 확인하는 절차 ( Authentication )
- 로그인, 회원가입 등
2. 인가 : 유저에 대한 권한을 허락하는 것 ( Authorization )
- - 유저가 요청하는 request를 실행할 수 있는 권한이 있는 유저인가를 확인하는 절차
728x90
'JAVA > SPRING' 카테고리의 다른 글
[JAVA] spring MVC @ModelAttribute 사용법 (0) | 2021.03.26 |
---|---|
spring form태그 readonly (0) | 2021.03.15 |
스프링(SPRING) 이란? (0) | 2021.02.18 |