サーバー側でモバイル デバイスのみが REST API にアクセスできるようにすることはできます(Based on spring framework)
か?
1 に答える
0
解決策を見つけたばかりです。それが最善の方法だとは言いませんが、とにかく機能します。そのために私は春のモバイルライブラリを使用しています
新しいインターセプターを作成して、デバイスの種類を確認し、API へのアクセスを許可するかどうかを確認するには、次のコードを実行します。
public class MobileDeviceInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Device d = new LiteDeviceResolver().resolveDevice(request);
if(!d.isNormal()) {
return true;
}
response.sendError(HttpServletResponse.SC_FORBIDDEN);
return false;
}
}
構成クラスに追加します。
public class AppConfig extends WebMvcConfigurerAdapter {
...
@Bean
public MobileDeviceInterceptor deviceTypeInterceptor(){
return new MobileDeviceInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(deviceTypeInterceptor());
}
}
今すぐテストしてみてください。
注User-Agent
モバイル以外のプラットフォームでヘッダーがモバイルの値に変更されたかどうかを確認する必要があります。たとえば、次のようになります。
- アンドロイド
- iPad
- シルク
- ...
このインターセプターはアクセスを許可します。
于 2016-12-22T14:26:35.670 に答える