Spring을 사용하여 RESTful 웹 서비스를 구현하려고합니다. 나는 Spring Security가 REST 서비스에 적용되는 링크들에 대해 작업하도록 설정했다. Android 애플리케이션에서이 웹 서비스에 대한 호출을합니다. 지금까지 기본 인증을 사용하여 연결했습니다. 내가 고민하는 것은 이것이 얼마나 안전 한가에 관해 알맞은 정보를 찾는 것이다. 최소한 SSL이나 무언가를 통해 이러한 전화를해야한다고 생각합니까?Spring Rest 서비스 보안
내가 지금 내 봄 보안 설정에 넣어 한 어떤 REST 클라이언트 그래서
public MyClass callRest() {
final String url = "http://10.0.2.2:8080/myservice/rest/getSomething";
HttpAuthentication authHeader = new HttpBasicAuthentication(username,
password);
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAuthorization(authHeader);
requestHeaders.setAccept(Collections
.singletonList(MediaType.APPLICATION_JSON));
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(
new MappingJacksonHttpMessageConverter());
try {
ResponseEntity<MyClass> response = restTemplate.exchange(url,
HttpMethod.GET, new HttpEntity<Object>(requestHeaders),
MyClass.class);
return response.getBody();
} catch (HttpClientErrorException e) {
return new MyClass();
}
}
호출 안드로이드 클라이언트에 내 코드 :
는<http auto-config='true'>
<intercept-url pattern="/rest/**" access="ROLE_USER"
requires-channel="https" />
</http>
내가 밖으로 어디에 알아낼 수 없습니다에게 https 때문에 연결이 더 이상 작동하지 않기 때문에 거기에서 가야합니다. Resttemplate을 사용하여 이것을 파악하는 방법에 대한 예를 찾을 수없는 것 같습니다.
어떤 도움이 필요합니까?
그것이 작동하지 않는다는 것을 의미합니까? 오류가 있습니까, 아니면 응답을 반환하지 않습니까? 요청이 여전히 "http"로 설정되어 있기 때문에 "https"요청을 시도 했습니까? –
여전히 http로 설정되어 있지만 변경 여부와 관계가 있습니다. 이제 웹 서비스에 연결하려고하면 SSLException이 수신됩니다. – Eels
SSLException이란 무엇입니까? 귀하의 질문에 그것을 추가, 정말 도움이 될 것입니다. –