gpt4 book ai didi

java - 仅允许移动设备访问 REST API

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:01 24 4
gpt4 key购买 nike

可以只允许移动设备访问我的服务器端的REST API(基于spring框架)

最佳答案

我刚刚找到了一个解决方案,不要说这是最好的方法,但无论如何它有效。为此,我使用 spring-mobile library

新建一个Interceptor,检查设备类型并知道是否允许他访问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 header 是否在非移动平台上更改为移动值,例如:

  • 安卓
  • ipad
  • 丝绸
  • ...

此拦截器将允许访问。

关于java - 仅允许移动设备访问 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41283727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com