Acegi Security는 J2EE 기반 엔터프라이즈 애플리케이션에 폭넓은 보안 서비스를 제공한다. 특히 Spring을 사용하고 있다면 보다 쉽게 Acegi에 접근할 수 있을 것이다.

기존 Servlet이나 EJB 스펙의 보안은 WAR나 EAR단위로 이식을 할 수 없었기 때문에, 서버 환경이 바뀌면 새 환경에 맞게 여러 설정을 변경해야했다. Acegi는 이러한 불편을 극복함은 물론이고, 이밖에도 여러 유용한 기능을 포함하고 있다.

두 가지 주요 기능을 제공한다.

  • Authentication(인증) : principal[footnote]일반적인 user를 의미[/footnote]을 인식
  • Authorization(권한) : principal이 애플리케이션에서 해당 행위를 할 수 있는지 결정

인증 차원에서 Acegi는 다양한 인증 모델을 지원한다.

위와 같이 다양한 인증 모델을 지원하기 때문에 많은 곳에서 사용하고 있지만, 혹여나 Acegi에서 지원하고 있지 않은 인증 모델들 중에 맘에 드는 것이 없을 수도 있다. Acegi는 오픈 프레임임웤이기 때문에 알아서 구현하면 된다. 표준을 사용하지 않는 별도의 인증 시스템을 구현하여 사용하고 있는 기존 시스템에 적용하고 싶을 수도 있다. 이 때도 Acegi는 잘~ 적용될 수 있다.

어떻게 인증을 거치느냐에 따라 세 종류의 권한 기능을 제공한다. authorizing web requests, authorizing methods can be invoked, authorizing access to individual domain object instances 이 녀석들을 이해 하려면 Servlet 스팩의 웹 패턴 보안, EJB 컨테이너가 관리하는 보안(CMS)과 파일 시스템 보안에 대해 살펴보라. Acegi는 이들 모두에 대해 고려했으며, 차후에 자세히 설명하겠다.