首页 新闻 会员 周边 捐助

springmvc拦截请求

0
[待解决问题]

springmvc有个接口,请求参数是传的设备序列号,我们打算判断这个客户端请求连接一次的话,这个传的设备序列号打上标记,不允许另外的客户端再访问同样的设备接口,这个该怎么实现?

等不到天亮的主页 等不到天亮 | 初学一级 | 园豆:23
提问于:2018-11-15 09:06
< >
分享
所有回答(2)
0

提供一个思路,基于设备序列号生成 token

dudu | 园豆:31030 (高人七级) | 2018-11-15 09:29

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 09:35

目前我就不知道细节

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 09:35

你那个生成token的具体怎么弄得,我开发经验少。。

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 09:37

@等不到天亮: 或者参考 springmvc 用拦截器+token防止重复提交 中的方式

支持(0) 反对(0) dudu | 园豆:31030 (高人七级) | 2018-11-15 09:46

@dudu: 我是用的springboot,但是不会用aop。。

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 09:48

@dudu: 你去qq多少呀,有问题请教下你,我是菜鸟,开发经验少

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 09:49

@dudu: 你这个例子只能接口只能访问一次请求,但没针对设备,况且我们是前后台分离的,token传不到客户端

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 10:02
0

可以考虑直接用代码实现,比如将第一次传入的设备序列号,存放在set中,下次如果还有请求过来,在set中检查是否已经存在了,如果不存在,继续执行之后的业务,如果存在了。就啥都不干!return

队长给我球。 | 园豆:324 (菜鸟二级) | 2018-11-15 11:06

嗯,大概了解了,但是存在了没有清空,下个请求访问不了呀

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 11:13

就是不知道这个请求什么情况下是关闭的

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 11:15

@等不到天亮: 哦~那就是配一个拦截器~在调运业务代码之前,先将序列号存放在set中,业务代码执行完毕后,在调用拦截器,将当前set中的序列号移除。这样下次请求就可以继续重复以上操作。在拦截器中实现上面的校验操作

请求→拦截器→执行业务→拦截器→返回

支持(0) 反对(0) 队长给我球。 | 园豆:324 (菜鸟二级) | 2018-11-15 11:19

@队长给我球。: 拦截器不太会用,springboot aop可以吗

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 11:28

@队长给我球。: 不用拦截器吧,直接if else不可以吗

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 11:38

@等不到天亮: 可以啊~这个和拦截器一个道理~

支持(0) 反对(0) 队长给我球。 | 园豆:324 (菜鸟二级) | 2018-11-15 11:48

@队长给我球。: 是呀,我想了一下,没必要拦截器呀,这个请求也不是多个地方要拦截,也没啥区别嘛

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 11:49

@队长给我球 你qq多少呀,我加下你,多认识几个大神。。

支持(0) 反对(0) 等不到天亮 | 园豆:23 (初学一级) | 2018-11-15 11:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册