: 기본적으로GWT :: 프로세스 서버 오류
@Singleton
public class GuiceRemoteServiceServlet extends RemoteServiceServlet {
@Inject
private Injector injector;
@Override
public String processCall(String payload) throws SerializationException {
RPCRequest req = RPC.decodeRequest(payload, null, this);
RemoteService service = getServiceInstance(
req.getMethod().getDeclaringClass());
return RPC.invokeAndEncodeResponse(service, req.getMethod(),
req.getParameters(), req.getSerializationPolicy());
}
@SuppressWarnings({"unchecked"})
private RemoteService getServiceInstance(Class serviceClass) {
return (RemoteService) injector.getInstance(serviceClass);
}
}
, 이것은 이상적인 장소입니다 사용자가 인증되었는지 확인하는 것과 같은 보안 관련 작업을 수행합니다. 사용자가 에 인증되었는지 확인하려면 서버에 대한 모든 요청이 필요합니다. 따라서 일반적으로 메소드 validateUser을 추가합니다.이 메소드는 true/false를 반환하거나 예외를 throw합니다. 이 메소드는 위의 코드에서 processCall 내에서 호출됩니다.
이제 질문은 - 클라이언트 쪽에서이 인증 응답을 어떻게 처리합니까? 단일 장소에 입력하고 모든 서비스에서 기본적으로이 사용자 유효성 검사를 사용하도록 설정했는지 확인하고 싶습니다. 새로운 서비스는 보안 관련 코드를 추가하지 않고 "보안"되어야합니다. 따라서 "onFailure"메소드 또는 이와 유사한 메소드에이 코드를 복사/붙여 넣기 할 필요가 없습니다.
의견이 있으십니까?
좋은 지적이지만, 나는이 방법을 사용하기로 결정했다. 그러나 일반적인 예외 처리를 위해서 또 다른 추상 클래스를 사용하는 것은 좋지 않다. – jdevelop