Springを使用してRESTfulWebサービスを実装しようとしています。私は、RESTサービスに適用されるリンクで機能するようにSpringSecurityを設定しました。AndroidアプリケーションからこのWebサービスを呼び出します。私が今やったことは、基本認証を使用してそれに接続することです。私が苦労しているのは、これが本当にどれほど安全かについてのまともな情報を見つけることです。少なくともSSLを介してこれらの呼び出しを行う必要があると思いますか?
RESTクライアントを呼び出すAndroidクライアント上の私のコード
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();
}
}
だから私が今私のSpringSecurity設定に入れたもの:
<http auto-config='true'>
<intercept-url pattern="/rest/**" access="ROLE_USER"
requires-channel="https" />
</http>
もちろん、httpsが原因で接続が機能しなくなったため、そこからどこに行くのかわかりません。Resttemplateを使用してこれを理解する方法の適切な例を見つけることができないようです。
何か助けはありますか?