대개, 다음과 같은 두 종류의 응용 프로그램 보안이 있습니다.
프로그래밍 방식의 보안의 경우 개발자가 작성한 응용 프로그램 코드에서 보안 작업을 처리합니다. 관리자는 이 메커니즘에 대한 제어 권한이 없습니다. 일반적으로, J2EE 컨테이너를 통해 구성을 관리하는 대신 응용 프로그램에 보안 구성을 하드 코드하기 때문에 프로그래밍 방식의 보안을 권장하지 않습니다.
선언적 보안의 경우 컨테이너(Application Server)가 응용 프로그램의 배포 설명자를 통해 보안을 처리합니다. 배포 설명자를 직접 편집하거나 deploytool 같은 도구를 사용하여 선언적 보안을 제어할 수 있습니다. 응용 프로그램을 개발한 후 배포 설명자를 변경할 수 있기 때문에 선언적 보안을 사용하면 더 많은 유연성이 훨씬 더 허용됩니다.
응용 프로그램 보안 외에 Application Server 시스템의 모든 응용 프로그램에 영향을 미치는 시스템 보안도 있습니다.
프로그래밍 방식의 보안은 응용 프로그램 개발자가 제어하므로 이 문서에서 설명하지 않습니다. 선언적 보안의 경우 덜 제어되므로 이 문서에서 가끔 다룹니다. 이 문서는 기본적으로 시스템 관리자를 대상으로 하므로 시스템 보안에 대해 중점적으로 설명합니다.