2011-07-28 5 views
0

JSP로 개발 된 웹 응용 프로그램이 있습니다. 변경된 모든 필드에 대해 감사 추적을 수행해야합니다. 감사 테이블에는 unique_id, 이전 값, 새 값, 화면 필드 이름, 최종 업데이트 날짜, 최종 업데이트 된 사용자 열이 포함되어야합니다. 그러한 감사를위한 몇 가지 설계 패턴과 모범 사례를 제안하십시오.JSP 화면 필드 감사 추적

참고 : 현재 필터 패턴을 사용하여 JSP에서 요청을 가로 채고 테이블을 감사하려고합니다. 화면 필드 이름이 DB 열 이름과 다르므로 DB 트리거 기반 감사는 필요하지 않습니다. 화면 필드 이름을 기반으로 감사해야합니다. 사전에

감사합니다, 라 지니 칸트

답변

0

이것은 일반적인 질문입니다. 감사 코드를 핵심 비즈니스 코드와 완전히 별도로 유지하는 Aspect를 사용하십시오. 귀하의 경우 Aspect에서는 객체의 DB 버전을 가져온 다음 값을 제출 된 객체의 값과 비교하여 감사 테이블에 정보를 기록합니다.

스프링을 사용하는 경우 : Security access audit.

+0

안녕하세요 Aaron, 답장을 보내 주셔서 감사합니다. 불행히도, 우리의 응용 프로그램은 스프링 프레임 워크를 사용하지 않습니다. 그것은 일종의 레거시 코드로서 JSP - 명령 패턴 - 도우미 종류의 워크 플로우를 가지고 있습니다. 이 시나리오에 적합한 디자인 패턴을 제안 해 줄 수 있습니까? – Rajanikanth

+0

스프링없이 AspectJ를 사용할 수있다. 다음은 자습서입니다 : http://www.andrewewhite.net/wordpress/2010/03/17/aspectj-annotation-tutorial/. Aspects에 대한 중요한 사항은 어떤 것을하는 코드를 캡슐화하여 다른 상황에 적용 할 수 있다는 것입니다. 귀하의 경우에는 감사 측면을 생성하고 Command 객체가 시작될 때 또는 일부 다른 유사한 경우에 발생하도록 구성 할 수 있습니다. – atrain