Struts 2 및 Spring autowiring을 사용하고 있습니다. 현재 기본 전략은 by-name으로 설정되어 있지만 대개 구현 클래스를 하나만 사용할 수있는 경우 속성에서 자동 와이어 링을 사용합니다.특정 속성을 노출시키지 않고 Struts2 + 스프링 autowiring 작업을 수행합니다.
하나의 속성이 있지만 여러 구현 클래스가있는 작업 클래스에 연결하려면 속성을 설정할 수있는 Java bean을 만들어야합니다. 불행히도 이들이 (분명히) 사용되는 유일한 방법은 공용 getter/setter가 있고 요청시이를 형식 변환기에 노출시키는 것입니다. 즉, 클라이언트가 폼 필드 나 매개 변수로 요청에 이름을 추가하면 Struts는 그 값을 요청에 쓰려고 시도합니다.
제 질문은 실제로 보안상의 위험이 있거나 없을 수도있는 속성을 공개하지 않고 by-name autowiring을 사용할 수 있습니까? 아니면 XML을 사용하고 Action을 범위 프로토 타입을 가진 객체?
'요청 시간에 유형 변환기'가 무슨 뜻인지 잘 모르겠다. –
@UmeshAwasthi 나는 그것을 더 명확하게하려고 노력했다. – wds
액션 클래스에 설정된 특정 매개 변수를 제외하도록 S2 param 인터셉터를 쉽게 알릴 수 있습니다. –