2012-05-07 4 views
1

나는 자바 (Spring Security), struts2, hibernate로 웹 어플리케이션을 만들고있다.다중 클라이언트 자바 아키텍쳐

모든 "사용자"는 "클라이언트"에 속합니다. 그리고 사용자가 로그인했을 때 그는 "클라이언트"의 리소스에만 액세스 할 수 있도록 디자인해야합니다.

원래 웹 응용 프로그램은 "클라이언트"없이 구축되었습니다. 웹 애플 리케이션의 특정 모듈에 대한 ROLE 기반 액세스 권한이있는 사용자 만 사용할 수 있습니다.

이러한 역할은 계속됩니다. 유일한 차이점은 사용자가 클라이언트 리소스로만 제한된다는 것입니다. 고객은 ROLE 기반 액세스를 통해 수행 할 수있는 작업과 수행 할 수없는 작업을 설명합니다.

아키텍처면에서 나는 관리자와 Dao 's와 함께 꽤 표준 웹 응용 프로그램이 있습니다. 그럼이 아키텍처에 가장 적합한 방법은 무엇입니까?

입력 해 주셔서 감사합니다.

+2

당신이 구글을 원한다면, 당신이 찾고있는 단어는'multi-tenancy' 다. – mihi

+0

감사합니다. 나는 그 키워드를 찾고 있었다 – user829237

답변

0

나는 비슷한 효과가 있습니다. 예를 들어 기본 UserDetails에 "clientId"추가 속성을 추가 할 수 있습니다 (아직 사용자 정의되지 않은 경우). 사용자가 로그되면 사용자는 사용자가 속한 클라이언트를 알게됩니다.

사용자가 작업을 수행하려는 경우 응용 프로그램은 userDetails에서 "clientId"를 가져와이 ID에 따라 작업을 수행해야합니다. Problay, 많은 DAO 메서드 (및 테이블) 매개 변수로 clientId가 있어야합니다.

이 해결 방법은 역할에 영향을주지 않습니다.

+0

그래, 이것은 아마도 내가해야 할 일이다. 나는 일종의 표준화 된 프레임 워크 나 "플러그인"을 사용하여 많은 코드를 다시 작성해야한다는 생각을했습니다. – user829237

+0

쉬운 방법이 없다고 생각합니다. 응용 프로그램을 다중 사용자로 유지하려면 데이터베이스 모델, 응용 프로그램 등을 변경해야합니다. – jddsantaella