본문 바로가기
OpenSource/Spring Security

먼저 알아두면 좋은스프링 시큐리티 용어

by 태하팍 2013. 2. 13.
반응형


스프링 포트폴리오 프로젝트에 포함 된 스프링 스큐리티! 원래는 아시지 시큐리티(Acegi Security)
였다고 한다.

모든 자바 애플리케이션에 보안을 적용하는데 사용 할 수 있지만, 주로 웹 기반 애플리케이션에 사용 된다.

<<먼저 알아야 할 용어~!>>
1) 인증(authentication) : 주체의 신원을 주체가 주장하는 신원과 대비해 검증하는 과정을 말한다.
2) 주체(principal) : 사용자, 기기, 시스템이 될 수 있으며, 주로 사용자라를 말한다.
3) 크리덴셜(crendetials) : 주체는 인증 받기 위해 신원 증명 정보를 제시 해야한다.
                                    이러한 정보를 크리덴셜 이라고 하며 보통 대상이 되는 주체가 사용자일 경우
                                    비밀번호가 크리덴셜이 된다.
4) 권한 부여(authorization) : 인증 된 사용자에게 권한들을 승인하는 과정으로 이를 통해 사용자는
                                        대상 애플리케이션의 특정 리소스에 접근 할 수 있게 된다. 
                                       권한부여 과정은 항상 인증 과정을 거친 후에 수행돼야 한다.
                                       또한 일반적으로 권한은 역할(role) 형태로 승인 된다.
5) 접근 제어(access control) : 애플리케이션 리소스에 대한 접근을 제어하는 것을 말한다.
                                           이 과정에는 사용자가 리소스에 접근 할 수 있도록 허용되는지 여부에 대한
                                           결정이 동반된다. 이러한 결정을 접근 제어 결정(access control decision)
                                           이라 하고, 이 결정은 리소스의 접근 속성과 사용자의 허용된 권한 
                                           또는 다른 특성들을 비교해 이뤄진다.

마지막으로 web상에서 사용 할 때 web.xml에 서플릿 필터를 사용한다. HTTP요청에 서플릿 필터를 적용해
보안을 처리 한다. 또한 web.xml(web deployment descriptor)에 DelegatingFilterProxy 인스턴스를
등록하는 과정이 필요하다.

자세한 내용은 두번째 시간에 code와 함께 알아보겠다^-^

요즘 들어 할 것이 너무나도 많다..하지만 머리만 아파 할 뿐 노력하지 않는 나를 보며..한마디 하자..
"정신 차리자!~ㅋㅋㅋㅋ"
블로그에 적다가 말은 포스팅 글귀들이 3개나 된다..다중 데이터소스..웹서비스 관련..등등..;
다 마무리해서 2월 안엔 다 포스팅 하자!!

다시 스프링 시큐리티로 돌아오면..이러한 인증, 권한, 접근 처리 등을 스프링시큐리티에서 제공 해준다는 것이다. 어떻게? 기존 스프링 프레임웍에서 처럼~~암호화 또한 md5나 sha1 등을 제공! 뭐..자바에서 제공 하는 것과 다른지 같은지는 아직 잘모르겠지만..^^;

참고자료 : 스프링3 레시피


반응형