2010-04-27 2 views
0

웹 UI 모듈, 웹 서비스 모듈, 서비스 모듈 (Java API), 도메인 모듈 및 지속성 모듈이있는 고전적인 Java SOA 애플리케이션이 있습니다. 어떤 의미에서이 모듈들 각각은 그들 자신의 public API를 가지고있다.스프링 보안을 얻는 Java 모듈

스프링 보안에 대한 나의 이해는 웹 필터를 사용하여 웹 GUI 및 웹 서비스의 보안을 처리하고 서비스 모듈의 메서드 수준 보안 (주석을 통해)을 처리 할 수 ​​있다는 것입니다.

내 질문은 : 도메인 모듈과 지속성 모듈에 메서드 수준 보안을 추가해야합니까, 아니면 잔인한 것으로 간주됩니까?

+0

모듈은 응용 프로그램을 사용하는 사용자 (웹 계층)의 경계입니까? Java API 또는 지속성을 직접 사용하는 사용자가 있습니까? –

+0

아니요. 하지만 이론적으로는 Java 클라이언트를 API에 작성하여 자신의 컴퓨터에서 실행할 수 있다는 것이 내 생각입니다. 데이터베이스 자격 증명 만 있으면됩니다. – HDave

답변

2

외부 API를 보호하면 일반적으로 도메인 모델이나 DAO 지속성 계층과 같은 내부 내부 계층을 보호 할 필요가 없습니다.

하지만 모두 보안 요구 사항에 따라 달라집니다. 내부 API의 메소드 인 보안 역할을 추가하면 API가 더 안전 해지고 공개 된 보안 구멍에 대한 방어적인 방법으로 간주 될 수 있습니다.

+0

좋은 연습과 같지만 과도 할 수 있습니다. 계산 오버 헤드를 감안할 때, 나는 내부 모듈을 보호하지 않는쪽으로 기울어 져있다. 내 관심사는 물론, 이론적으로, 그 API에 대한 자바 클라이언트를 작성하고 자신의 컴퓨터에서 실행할 수 있습니다. 데이터베이스 자격 증명 만 있으면됩니다. – HDave

+0

동의합니다. 일반적으로 내부 API를 보호하지 않습니다. 데이터베이스는 내부 API이므로 노출되어서는 안됩니다. 따라서 데이터베이스 포트는 공개적으로 액세스 할 수 없으며 방화벽 뒤에 있어야합니다. – Kdeveloper

관련 문제