2013-02-21 5 views
1

대 일반 서비스 계층 방법 :봄 - 나는 다음과 같은 볼 수 있습니다 나는 현재 응용 프로그램에서 일하고 있어요 특정

  • 컨트롤러 A : service.getSession (userId를, Status.Started을);
  • 컨트롤러 B : service.getSession (userId, Status.Done);

(상태가 가능한 상태의 열거를 나타내며)

  • 서비스 :하는 getSession (긴 ID, 상태 지위);

나는 컨트롤러 A가 B의 다른 접근 특정 역할과 사용자가 2 개 서비스 방법이 있어야 액세스하려고하는 사용자로, 그것은 옳지 않다 찾을 :

  • getSessionReady (긴 ID);
  • getSessionClosed (긴 ID);

그렇다면 스프링 보안을 분명히 사용하고 적절한 역할이 올바른 서비스 방법에 액세스하는지 확인하십시오. 그것은 나를 두 가지 방법으로 만들지 만 애플리케이션 보안을보다 쉽게 ​​만들고 서비스 계층의 목표는 실제로 논리 오류를 제한하기 위해 액세스를 제한하는 것입니다.

답변

0

예. 더 일반적인 서비스 레이어 (또는 어떤 클래스, 사실), 더 적은 가치를 추가합니다.

서비스 계층에서 액세스를 제한하고 유효한 호출 만 도메인에 액세스하도록하려고합니다.

또한 더 많은 방법이 나쁜 것은 아닙니다. 그들이 의미가있는 한, 자유롭게 느끼십시오. 일반적으로 다른 동작을 유발하는 추가 매개 변수가있는 메서드는 코드 냄새이므로 분리해야합니다.

+0

내 생각을 확인하는 답변을 주셔서 감사합니다. – user1718057

관련 문제