보안: "인증(Authentication)" + "권한(Authorization)"
인증: 현재 사용자가 누구인지 확인하는 과정 ex) id/pw
권한: 현재 사용자가 특정 대상(url/기능 등)을 사용(접근)할 권한이 있는지 검사
UI 처리: 권한이 없는 사용자가 접근했을 때, 알맞은 에러를 보여주고나 인증을 위한 화면으로 이동
ex) 회원이 관리자 페이지로 이동했을 시: "잘못된 접근이라는 페이지 보여주기"(403)
로그인 하지 않은 사용자가 관리자 페이지로 이동했을 시: "로그인 폼 보여주기"
인증, 인가, UI처리는 각 애플리케이션마다 유사한 구조를 갖기 때문에 기본 틀을 제공해 주는 것이 Spring Security
public class SecurityConfig extends WebSecurityConfigurerAdapter
{
public void configure(WebSecurity web) throws Exception
{
// 예를들어 이런식으로 인증할것들을 풀어주는겁니다. (주로 리소스)
web.ignoring().antMatchers("/css/**", "/script/**", "/");
}
protected void configure(HttpSecurity http) throws Exception
{
// 여기에선 리소스외에 페이지의 인증/비인증/인증권한등을 설정하는게 좋은것 같습니다.
http.authorizeRequests()
// 어드민 권한으로만 접근할 수 있는 경로.
.antMatchers("/admin/**").access("ROLE_ADMIN");
}
}
'이론 > JSP&Spring&등등 이론' 카테고리의 다른 글
Restful API 개발지침 (0) | 2018.10.23 |
---|---|
[Spring] 싱글톤 레지스트리/ DI (0) | 2018.09.01 |
[Spring/디자인패턴] 리팩토링, 템플릿메소드패턴, 팩토리메소드패턴, 전략페턴, IoC, 빈 개념정리 (0) | 2018.08.27 |
[Ajax] 왜 Ajax를 쓸까? (0) | 2018.08.10 |
[Spring] 을 사용하며 궁금했던 Maven vs Gradle (0) | 2018.07.19 |